procedureCopyCurrentDBLine(DBGrid:TDBGrid);
var
i:Integer;
Line:String;
begin
fori:=0toDBGrid.Columns.Count-1dobegin
ifAssigned(DBGrid.Columns.Grid.Fields[i])then
ifLine=''then
Line:=DBGrid.Columns.Grid.Fields[i].Text
else
Line:=Line '' DBGrid.Columns.Grid.Fields[i].Text;
end;
Clipboard.SetTextBuf(pchar(Line));
end;
//感谢深思提供技术支持:)
procedureCopyDBData(DBGrid:TDBGrid);
const
CRLF=#13#10;
var
i:Integer;
Lines:String;
BookMark:Pointer;
begin
BookMark:=DBGrid.DataSource.DataSet.GetBookmark;
DBGrid.DataSource.DataSet.First;
whilenotDBGrid.DataSource.DataSet.Eofdobegin
fori:=0toDBGrid.Columns.Count-1dobegin
ifAssigned(DBGrid.Columns.Grid.Fields[i])then
ifLines=''then
Lines:=DBGrid.Columns.Grid.Fields[i].Text
else
ifi=0then
Lines:=Lines DBGrid.Columns.Grid.Fields[i].Text
else
Lines:=Lines '' DBGrid.Columns.Grid.Fields[i].Text;
end;
Lines:=Lines CRLF;
DBGrid.DataSource.DataSet.Next;
end;
ClipBoard.SetTextBuf(PChar(Lines));
DBGrid.DataSource.DataSet.GotoBookmark(BookMark);
end;