Fórum Arquivos Textos - Importação #238306

17/06/2004

0

Pessoal preciso muito da ajuda de vocês, estou começando no Delphi, mas estou com o seguinte problema.

Preciso criar um arquivo texto. Estou com o layout das posições referente aos campos. A listagem contendo Nome e CPF precisa ser importada para este arquivo, os demais campos conforme o layout serão todos iguais para os nomes.

Quais os comandos que eu posso utilizar para criação deste arquivo texto, vocês possuem alguma apostila que aborta este assunto para me ajudar...

Renato :?:


Rfp170

Rfp170

Responder

Posts

17/06/2004

Marcelino

Prezado rfp170

Vc tem uma tabela no seu banco de dados ( exemplo TABELA_CLIENTE ) e precisa jogar em um arquivo texto devidamente formatado, ok ?

1) Imagine que o NOME ocupe a posição 5 a 44 ( 40 posições )

2) Imagine que o CPF ocupe a posição 45 a 55 ( 11 posições ).

3) Comandos

a) Vc deve selecionar os registros em um DataSet ( Ex : TTable, TQuery, TSQLQuery, etc )
Coloque um componente TSQLQuery na sua Form e informe no SQL
´select * from TABELA_CLIENTE´ ( Coloque a clausula where se necessario )

b) Salvando em arquivo texto
Coloque um componente SaveDialog no seu Form
var sLinha : String;

try
  StringList := TStringList.Create;
  with SQLQuery do 
  begin
    First;
    while not Eof do
    begin
       // 4 espaços em branco 
       // Coloquei o COPY porque o campo NOME pode ter mais de 40 pos.

       sLinha := ´   ´ + Copy(FieldbyName(´NOME´).AsString,1,40) + Copy(FieldByName(´CPF´).AsString,1,11);
       StringList.Add(sLinha);
       Next;
    end;
 
    // Neste momento carreguei o relatorio na StringList

    if SaveDialog.Execute then // Chamei o SaveDialog. Se informei um nome então
      StringList.SaveToFile(SaveDialog.FileName); // Salva o conteudo da StringList com o nome do arquivo mencionado 
   end;
finally
  StringList.Free;
end;

4) Deve funcionar para a maioria dos casos. Se por ventura a quantidade de registros seja enorme, a melhor alternativa não seja esta e sim executar os comandos Rewrite, WriteLn, etc (rotinas de gravação de arquivos textos oriundos do Pascal ) . Caso necessario poste uma mensagem.

[]s


Responder

Gostei + 0

17/06/2004

Aroldo Zanela

Colega,

Existem várias formas. A de menor esforço é utilizando objeto da classe TStringList. Utilize o link acima [url=http://delphiforum.icft.com.br/forum/search.php]pesquisar[/url] que você deve encontrar a resposta. Permanecendo dúvidas, basta postar aqui novamente.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar