Código
A function2 retorna os dados dos campos com o delimitador pipe!
function TFgeraArqtxt.delimitarcampos(client:tclientdataset):string;
var //Funcão criada por Deivdy do Carmo de Souza
pipe,aux,campos:string;
f,t:integer;
begin
F:=0;
T:=client.FieldCount;
T:=t-1;
aux:=cligrid.FieldDefList.FieldDefs[F].Name;
campos:=aux;
pipe:='|';
while f <> t do
begin
f:=f+1;
aux:=cligrid.FieldDefList.FieldDefs[F].Name;
campos:=campos+pipe+aux;
end;
campos:=campos+pipe;
result:=campos;
end;
function TFgeraArqtxt.pegadados(client:tclientdataset;camposcomdelimitador:string):string;
var //Funcão criada por Deivdy do Carmo de Souza
aux,pipe,vlinhas,dados:string;
f,t:integer;
begin
F:=0;
T:=client.FieldCount;
T:=t-1;
pipe:='|';
Vlinhas:=copy(camposcomdelimitador,1,pos('|',camposcomdelimitador)-1) ;
delete(camposcomdelimitador,1,Pos('|',camposcomdelimitador));
application.ProcessMessages ;
aux:= client.fieldbyname(vlinhas).AsString;
application.ProcessMessages ;
dados:=aux;
f:=1;
WHILE F <= T DO
BEGIN
Vlinhas:=trim(copy(camposcomdelimitador,1,pos('|',camposcomdelimitador)-1)) ;
delete(camposcomdelimitador,1,Pos('|',camposcomdelimitador));
application.ProcessMessages ;
aux:= client.fieldbyname(vlinhas).AsString;
application.ProcessMessages ;
dados:=dados+pipe+aux;
f:=f+1;
END;
camposcomdelimitador:= dados+pipe ;
result:=camposcomdelimitador;
end;
//ótima para aruivos texto
//usase dentro de um while!
//chama
vreg:=delimitarcampos(CliGrid,VREG);
vsem:= pegadados(cligrid,vreg);
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009