请教,如何将TStringGrid中的内容复制出来?

解决方案 »

  1.   

    var 
      TOP,LEFT,RIGHT,BOTTOM:INTEGER;
      I,J:INTEGER;
      S,S1,S2:STRING;
    begin
       MEMO1.ScrollBars := ssBoth;
       TOP:= StringGrid1.Selection.Top ;
       BOTTOM:= StringGrid1.Selection.Bottom;
       LEFT:=StringGrid1.Selection.Left;
       RIGHT:= StringGrid1.Selection.Right;
       S := '';
       S1 :='';
       FOR J :=  TOP TO BOTTOM DO
       BEGIN
         S2 := '';
         FOR I := LEFT TO RIGHT DO
         BEGIN
           S := StringGrid1.Cells[I,J];
           IF S2 = '' THEN
             S2 := S
           ELSE
             S2 := S2 + #9 + S;//#9 Tab分隔符
         END;
         IF S1  = '' THEN
           S1 := S2
         ELSE
           S1 := S1 + #13 + S2;//#13回车换行
       END;
       MEMO1.Text := S1;//暂存到memo1
       MEMO1.SelectAll;
       MEMO1.CopyToClipboard;//复制到剪切板
    end;