Ta na mão,

type
  TTipo  = (ttAbrir, ttGravar);
  TForm1 = class(TForm)
  ...

procedure ProcessarArquivo(pDataSet: TDataSet; pArquivo: String; pTipo: 
TTipo);
var
   F : TextFile;
   i,
   x : Integer;
   Linha,
   s : String;
   vArquivo : Array [0..MAX_PATH] of Char;

begin

   StrPCopy(vArquivo, pArquivo);
   if (FileExists(vArquivo)) and (pTipo = ttGravar) then
      DeleteFile(vArquivo);
   AssignFile(F, vArquivo);
   if FileExists(vArquivo) then
      Reset(F)
   else
   begin
      Rewrite(F);
      Append(F);
   end;
   case pTipo of
      ttGravar :
         begin
            for i := 0 to pDataSet.RecordCount - 1 do
            begin
               s := '';
               for x := 0 to pDataSet.Fields.Count - 1 do
               begin
                  s := s + pDataSet.Fields[x].AsString;
                  if x < pDataSet.Fields.Count - 1 then
                     s := s + ';';
               end;
               Writeln(F, s);
            end;
         end;
      ttAbrir :
         begin
            Readln(F, Linha);
            s := '';
            x := -1;
            for i := 1 to Length(Linha) do
            begin
               pDataSet.Append;
               if Linha[i] <> ';' then
                  s := s + Linha[i]
               else
               begin
                  Inc(x);
                  case pDataSet.Fields[x].DataType of
                     ftDate,
                     ftDateTime : pDataSet.Fields[x].AsDateTime := 
StrToDate(s);
                     ftInteger  : pDataSet.Fields[x].AsDateTime := 
StrToInt(s);
                     ftFloat,
                     ftCurrency : pDataSet.Fields[x].AsDateTime := 
StrToFloat(s);
                  else
                     pDataSet.Fields[x].AsString := s;
                  end;
               end;
            end;
            Inc(x);
            pDataSet.Fields[x].AsVariant := s;
            pDataSet.Post;
         end;
   end;
   CloseFile(F);

end;

procedure TForm1.btn1Click(Sender: TObject);
begin

   ProcessarArquivo(qry1, 'C:\TESTE.TXT', ttGravar);

end;


QQ Avise !!!

Eduardo
Fco Yahoo escreveu:
>
> Ola pessoal, estou tendo um problema muito serio aqui comigo, preciso 
> gerar
> um arquivo contendo os registros de uma determinada tabela por periodo,
> portanto eu faria isso construindo uma query:
> If query1.active = true then query1.active:=false;
> query1.sql.clear;
> query1.sql.add('select * from table1 where (condicao) ');
> Agora como eu faço para gravar 1 arquivo contendo esses registros
> Dai pra frente eu nao sei, e tambem como faço para ler esse arquivo e
> inserir os registros dele em uma table,
> Preciso disso, pois estou colocando 1 aplicativo fora do escritorio e 
> tenho
> q capturar tudo o que nesse aplicativo for digitado.
>
> Agradeco imensamente toda e qualquer ideia;
> Se quizerem podem entrar em contato em pvt
> [EMAIL PROTECTED] <mailto:franciscoacao%40hotmail.com>
> [EMAIL PROTECTED] <mailto:franciscocarlos65%40hotmail.com>
> [EMAIL PROTECTED] <mailto:fcandrade2001%40yahoo.com.br>
> [EMAIL PROTECTED] 
> <mailto:fcandrade%40acaocontabilidade.com.br>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  

Responder a