Olá galera, nesta dica irei mostrar como armazenar os dados de um TDataSet, no Clipboard do Sistema Operacional. Uma forma bem simples que temos para copiar os registros de uma tabela, e colar o mesmo em qualquer outro local, um Doc, ou um Txt.

Vamos a implementação, eu fiz uma base de dados em XML, com ClientDataSet, porém você pode usar seu próprio TDataSet.

Primeiramente vamos dar uses em ClipBrd.

Layout do Formulário.

Iremos desenvolver a procedure para poder copiar os registros.


procedure TFrmPrincipal.CopiarRegistro(DS: TDataSet);
const
  FieldSeparator = ' : ';
  Enter = #13#10;
  NewRecord = '______' + #13#10;
var
  S: string;
  I: integer;
begin
  S := '';
  DS.First;
  while not DS.EOF do
  begin
   for I := 0 to DS.FieldCount -1 do
    S := S + DS.Fields[I].FieldName + FieldSeparator +
    DS.Fields[I].AsString + Enter;
    S := S + NewRecord;
    DS.Next;
  end;
  Clipboard.AsText := S;
end;

procedure TFrmPrincipal.BtnCopiarClick(Sender: TObject);
begin
  CopiarRegistro(CDSPadrao);
end; 

Assim nos teremos o seguinte resultado


Codigo : 1
Nome : WESLEY
Sexo : M
CPF : 123.123.123-09
______
Codigo : 2
Nome : RICARDO COELHO
Sexo : M
CPF : 4423.123.123-09
______

Com isso temos uma rotina para exportar nossos dados para um Txt por exemplo, ou até mesmo um Excel, ou Doc, ou seja lá qual for a ferramenta.

Fico por aqui ate à próxima Quick Tips.

Um abraço

Wesley Y