De uma olhada e melhore.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
   i, y  : Integer;
   Qry   : TQuery;
   S,
   Tbl   : String;
   Lista : TStringList;

   function TrataTexto(pTexto : String; pTamanho : Integer; pTipo : 
TFieldType) : String;
   var
      x : Integer;
   begin
      Result := '';
      case pTipo of
         ftInteger,
         ftFloat,
         ftCurrency :
            begin
               for x := 1 to pTamanho - Length(pTexto) do
                  Result := Result + '0';
               Result := Result + pTexto;
            end;
         ftString :
            begin
               for x := 1 to pTamanho - Length(pTexto) do
                  Result := Result + ' ';
               Result := Result + pTexto;
            end;
      end;
   end;
begin

   Qry := TQuery.Create(Nil);
   For i := 0 to ListView1.Items.Count - 1 do
   begin
      Tbl   := 
ChangeFileExt(ExtractFileName(ListView1.Items[i].Caption), '');
      Lista := TStringList.Create;
      Qry.DatabaseName := ExtractFilePath(ListView1.Items[i].Caption);
      Qry.Close;
      Qry.SQL.Clear;
      Qry.SQL.Add(' select * from ' + Tbl);
      Qry.Open;
      while not Qry.Eof do
      begin
         S := '';
         for y := 0 to Qry.FieldCount - 1 do
            S := S + TrataTexto(Qry.Fields[y].AsString, 
Qry.Fields[y].DataSize, Qry.Fields[y].DataType);
         Lista.Add(S);
         Qry.Next;
      end;
      Lista.SaveToFile(Tbl + '.txt');
      FreeAndNil(Lista);
   end;
   FreeAndNil(Qry);

end;


Eduardo

Marcelo escreveu:
> Olá comunidade delphiana.
>
> preciso transportar uma única vez os dados das minhas tabelas DBf
> para arquivos txt com posições definidas.
>
> Exemplo:
> DBF:
> Cod          Nome            End
> 1            Joao            rua tal
> 2            Maria           outra rua
>
> ================================================
>
> TXT:
> Cod (tem de estar entre 0 e 4)
> Nome (tem de estar entre 5 e 30)
> Edn (tem de estar entre 31 e 50)
>
> ================================================
>
> desde já agradeço as ajudas
>
>
>
>
>
>
>  


                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a