Arquivos Textos - Importação

Delphi

17/06/2004

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

Curtidas 0

Respostas

Marcelino

Marcelino

17/06/2004

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


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

17/06/2004

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.


GOSTEI 0
POSTAR