terça-feira, 22 de setembro de 2009

Copiar para o clipboard o conteúdo de um dbgrid - exportar para tabsheet

{
Na cláusula uses coloque a unit "Clipbrd"
Coloque o código abaixo, por exemplo, no evento onClick de um botão
}

var Linhas: TStringList;
i, posicao: integer;
s: string;
begin
Linhas := TStringList.Create;
Clipboard.Open;
try
with DBGrid1 do
begin
DataSource.DataSet.DisableControls;
Posicao := DataSource.DataSet.RecNo;
DataSource.DataSet.First;
while not DataSource.DataSet.Eof do
begin
s := '';
for i := 0 to Columns.Count - 1 do
begin
if i > 0 then s := s + #9; // Tabulação
s := s + Columns.Items[i].Field.Text;
end;
Linhas.Add(s);
DataSource.DataSet.Next;
end;
DataSource.DataSet.RecNo := Posicao;
DataSource.DataSet.EnableControls;
end;

Clipboard.SetTextBuf(Pointer(Linhas.Text));
finally
Linhas.Free;
Clipboard.Close;
end;

Nenhum comentário:

Postar um comentário