Adicionar Itens de uma Query no TXT

Delphi

05/06/2006

Tenho um arquivo TXT onde quero colocar todo o conteúdo que foi filtrado da query, so que ele poe somente o primeiro item, os demais não vão.
Gostaria de saber como fazer uma rotina para colocar todos os itens.
segue o código que estou utilizando:
var log: textfile;
    caminho,codproduto, discproduto, classfiscal, tipo, quantidade, valorun, valortotal:string;

begin
codproduto:=codproduto + f_quickrep.q_impressao.fieldbyname(´CodigoProduto´).AsString;
discproduto:=discproduto + f_quickrep.q_impressao.fieldbyname(´DiscriminacaoProduto´).AsString;
classfiscal:=classfiscal + f_quickrep.q_impressao.fieldbyname(´ClassificacaoFiscal´).AsString;
tipo:=tipo + f_quickrep.q_impressao.fieldbyname(´Tipo´).AsString;
quantidade:=quantidade + f_quickrep.q_impressao.fieldbyname(´Quantidade´).AsString;
valorun:=valorun + f_quickrep.q_impressao.fieldbyname(´ValorUnitario´).AsString;
valortotal:=valortotal + f_inserirnota.l_total.caption;

  // Salvando o arquivo em um TXT na pasta Impressos//
  try
  caminho:=ExtractFilePath(ParamStr(0)) + ´Impressos\´;
  AssignFile(log, caminho +f_quickrep.t_impressao.FieldByName(´ImpressaoNumero´).AsString+´.txt´);
  if not FileExists(caminho +f_quickrep.t_impressao.FieldByName(´ImpressaoNumero´).AsString+´.txt´) then
  AssignFile(log, caminho +f_quickrep.t_impressao.FieldByName(´ImpressaoNumero´).AsString+´.txt´);
  Rewrite(log, caminho +f_quickrep.t_impressao.FieldByName(´ImpressaoNumero´).AsString+´.txt´);
  Append(log);
  WriteLn(log, ´Natureza da Operação: ´+f_quickrep.qr_natureza.caption);
  WriteLn(log);
    WriteLn(log, ´Código do Produto: ´+ codproduto);



Vagner.oliveira

Vagner.oliveira

Curtidas 0

Respostas

Vagner.oliveira

Vagner.oliveira

05/06/2006

Ja encontrei
[url]http://forum.devmedia.com.br/viewtopic.php?t=72150&highlight=txt+arquivo&sid=49f14beb100378eb97f79bb3e2fef403[/url]

So falta tabular agora :!: :!: :!:


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

05/06/2006

Colega,

Seu código do tópico inicial precisa de um laço para ler a consulta até o fim da mesma. A tabulação pode ser adicionada com o carácter de controle #9.


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

05/06/2006

onde ponho o #9 ??


GOSTEI 0
Mordred

Mordred

05/06/2006

Faça assim:
1. Abra o arquivo e insira o cabeçalho.
2. Insira os itens, um a um, usando uma estrutura mais ou menos assim:
While Not Query.Eof Do
  Begin
    Arquivo.WriteLn(#9+´Campo1:´+Query.FieldByName(´Campo1´).AsString);
    Arquivo.WriteLn(9+´Campo2:´+Query.FieldByName(´Campo2´).AsString);
    Arquivo.WriteLn(9+´Campo3:´+Query.FieldByName(´Campo3´).AsString);
    Query.Next;
  End;


Imagino que seja isso. :-P


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

05/06/2006

qual o código para que ele de nova linha, tentei o #13 e o 013 mas não funcionou


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

05/06/2006

Colega,

O WriteLn já coloca um CR + LF (Retorno de carro + alimenta linha). No caso de não querer o salto de linha, troque WriteLn para Write.


GOSTEI 0
POSTAR