Arquivos TXT
Olá meus amiguinhos,
Há qto tempo hein?! Mas estou de volta e querendo a ajuda de vcs.
Bom, vamos lá.
Eu tenho a seguinte situação, eu faço uma filtragem de dados, e a partir do resultado eu quero converter os dados filtrados para TXT para enviar por e-mail para que um outro programa, num outro Estado possa lê-los.
É algo tipo as centrais telefônicas que preparam os dados para que o sistema possa ler o consumo de cada quarto.
Já agradeço pq sei que vou conseguir a ajuda de vcs.
Bjinhos.
(Detalhe, gostaria de receber dicas das meninas tb. Mostrar que tb estamos no campo. rs rs rs)
Há qto tempo hein?! Mas estou de volta e querendo a ajuda de vcs.
Bom, vamos lá.
Eu tenho a seguinte situação, eu faço uma filtragem de dados, e a partir do resultado eu quero converter os dados filtrados para TXT para enviar por e-mail para que um outro programa, num outro Estado possa lê-los.
É algo tipo as centrais telefônicas que preparam os dados para que o sistema possa ler o consumo de cada quarto.
Já agradeço pq sei que vou conseguir a ajuda de vcs.
Bjinhos.
(Detalhe, gostaria de receber dicas das meninas tb. Mostrar que tb estamos no campo. rs rs rs)
Anjinho Loiro
Curtidas 0
Respostas
Fabiano Góes
23/09/2009
bom vamos ver se entendi:
procedure TForm1.Button1Click(Sender: TObject); var TXT: TStrings; begin TXT := TStringList.Create; try // abre a query e se posiciona no primeiro registro ClientDataSet1.Open; ClientDataSet1.First; // faz um loop para percorrer todos os registros while not ClientDataSet1.Eof do begin // faz alguma coisa ... // escreve o arquivo texto, ex.... TXT.Append( ClientDataSet1.FieldByName(´CODIGO´).AsString+´;´+ ClientDataSet1.FieldByName(´NOME´ ).AsString ); ClientDataSet1.Next; end; // Salva o arquivo texto TXT.SaveToFile(´c:\Exemplo.txt´); finally FreeAndNil(TXT); end; end;
GOSTEI 0
Marcosrocha
23/09/2009
Mônica, uma das formas mais simples de você gerar este arquivo é jogando para uma TStringList e formatando com espaços, ponto e vírgula ou zeros para delimitar os campos e salvar o arquivo com a função SaveToFile. Vai depender do Layout que o outro programa espera para ler.Espero não ter sido infeliz em meu exemplo.
var MyStList: TStringList; begin MyStList := TStringList.Create; MyStList.Add(´MARCOS 25 PROGRAMADOR´); MyStList.Add(´DEVMAN WEBMASTER´); MyStList.SaveToFile(´C:\temp\Espacos.txt´); MyStList.Clear; MyStList.Add(´MARCOS;25;PROGRAMADOR´); MyStList.Add(´DEVMAN;;WEBMASTER´); MyStList.SaveToFile(´C:\temp\Pontoevirgula.txt´); FreeAndNil(MyStList); end;
GOSTEI 0
Osocram
23/09/2009
Eu acho que com as respostas do MarcosRocha e Fabiano Góes vão resolver o seu problema.
Mas tem um detalhe que eu estava pensando, vc tem que gerar isso em um layout especifico?
Ou é o seu programa que vai ler?
Pois assim.... Se tiver um layout especifico... tem que seguir ele, não tem o que fazer.
Agora se vc mesma que vai fazer o programa que vai ser esse arquivo, da para usar recursos interessante do TStrings, como commaText, entre outros.
Mas tem um detalhe que eu estava pensando, vc tem que gerar isso em um layout especifico?
Ou é o seu programa que vai ler?
Pois assim.... Se tiver um layout especifico... tem que seguir ele, não tem o que fazer.
Agora se vc mesma que vai fazer o programa que vai ser esse arquivo, da para usar recursos interessante do TStrings, como commaText, entre outros.
GOSTEI 0
Marcosrocha
23/09/2009
Como diz a frase: Existem Mil maneiras de preparar um bug... Invente uma! :oops:
GOSTEI 0
Anjinho Loiro
23/09/2009
Meu anjo, mas como devo fazer se não estou usando ClientDataSet, mas sim a Query da paleta BDE?
O que eu devo colocar no lugar destas duas linhas por exemplo?
ClientDataSet1.FieldByName(´CODIGO´).AsString+´;´+
ClientDataSet1.FieldByName(´NOME´ ).AsString
Obrigado pela ajuda.
O que eu devo colocar no lugar destas duas linhas por exemplo?
ClientDataSet1.FieldByName(´CODIGO´).AsString+´;´+
ClientDataSet1.FieldByName(´NOME´ ).AsString
Obrigado pela ajuda.
GOSTEI 0
Marcosrocha
23/09/2009
O procedimento é o mesmo:
// Código de Fabiano Góes procedure TForm1.Button1Click(Sender: TObject); var TXT: TStrings; begin TXT := TStringList.Create; try // abre a query e se posiciona no primeiro registro Query1.Open; Query1.First; // faz um loop para percorrer todos os registros while not Query1.Eof do begin // faz alguma coisa ... // escreve o arquivo texto, ex.... TXT.Append( Query1.FieldByName(´CODIGO´).AsString+´;´+ Query1.FieldByName(´NOME´ ).AsString ); Query1.Next; end; // Salva o arquivo texto TXT.SaveToFile(´c:\Exemplo.txt´); finally FreeAndNil(TXT); end; end;
GOSTEI 0