Quick Tips : Gerar txt usando Delimiter

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Veja nesta Quick como gerar txt usando Delimiter.



Olá galera, nesta Quick Tips, irei mostrar como gerar um arquivo txt separado por um determinado delimitador, podendo ser usado para geração de arquivos de integração por exemplo.

 

Vamos à construção do Exemplo:

 

Primeiramente vamos adicionar um novo projeto, e nele incluir uma nova unit, salvar a mesma como uDelimitador, e iremos criar uma classe com 2 propertys do tipo TStringList(1 lista irá adicionar os campos da nossa tabela, e a outra terá a finalidade de montar o arquivo separado pelo delimitador dividindo cada linha da tabela em uma linha na lista), um método Create, e um outro Save, veja a implementação completa da mesma.

 

unit uDelimitador;

 

interface

uses Classes;

 

Type

TDelimitador = class

private

FListaPadrao: TStringList;

FListaFinal: TStringList;

procedure SetListaPadrao(const Value: TStringList);

procedure SetListaFinal(const Value: TStringList);

{ private declarations }

protected

{ protected declarations }

public

{ public declarations }

constructor Create;

property ListaPadrao : TStringList read FListaPadrao write SetListaPadrao;

property ListaFinal : TStringList read FListaFinal write SetListaFinal;

procedure Save(FileName : String);

end;

 

implementation

{ TDelimitador }

 

constructor TDelimitador.Create;

begin

  inherited Create;

  ListaPadrao := TStringList.Create;

  ListaFinal := TStringList.Create;

end;

 

procedure TDelimitador.Save(FileName : String);

begin

  FListaFinal.SaveToFile(FileName);

end;

 

procedure TDelimitador.SetListaFinal(const Value: TStringList);

begin

  FListaFinal := Value;

end;

 

procedure TDelimitador.SetListaPadrao(const Value: TStringList);

begin

  FListaPadrao := Value;

end;

end.

 

Agora iremos para o formulário e prepararmos a tela.

Adicione no formulário

 

·         1 ClientDataSet

·         1 DataSorce

·         1 DBGrid

·         1 Memo

·         1 BitBtn

 

Obs : A forma que foi desenvolvido você não precisa criar exatamente os campos que estão abaixo representados, pode ser com uma conexão a uma tabela de seu banco de dados sem problema nenhum

 

delimitador



procedure TFrmPrincipal.BtnGerarClick(Sender: TObject);

Var

I: Integer;

begin

 Delimitador := TDelimitador.Create;

 with Delimitador do

 begin

//Digite aqui o Delimitador '|' ou ',' por exemplo

  ListaPadrao.Delimiter := ';';

  while not CDS.Eof do

  begin

//Loop para pegar o conteudo de todas as colunas do CDS

   for I := 0 to CDS.FieldCount - 1 do

     ListaPadrao.Add(CDS.Fields[I].Value);

{Adiciona na lista final todo conteúdo das

colunas do CDS em uma única linha }

   ListaFinal.Add(ListaPadrao.DelimitedText);

   CDS.Next;

   Delimitador.ListaPadrao.Clear;

  end;

{Método para salvar fisicamente o arquivo Save('c:\listafinal.txt');

 Memo1.Lines.AddStrings(ListaFinal);

 end;

end;

Veja o resultado final

 

delimitador


 

Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

Wesley Y

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?