Buscar

Function para pegar nomes e dados da tabela informada!

Código

É usada com um clientedataset, a function 1 retorna os campos da tabela com delimitador pipe!
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);

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 27/07/10
Por: Deivdy Souza
Visualizada: 5157 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009