Fórum Exportar conteúdo de uma Query para um arquivo texto #172021

28/07/2003

0

Pessoal,

Estou com um probleminha ... Tenho um query que retorna mais ou menos o sequinte:
ABCDEFGHIJ12300002450 3500
GHJJGGGHH1112100022223500
ASDSDFGHIJ12550002450 3500
ASDASDGHIJ12301112566 3500

Preciso exportar este conteúdo para um arquivo texto simples, no entanto não consigo , tentei usar o QuickReport, ele funciona bem mas só quando o arquivo não é muito grande. Quando o arquivo é grande, dá um problema, que não consigo resolver, ele até gera o arquivo.. mas repete varias vezes a primeira linha.

Acredito que deve ter algum meio de gerar este arquivo de uma forma mais precisa. ????

Valeu galera ...

LeonSystem: Quando tem dúvida !! Pergunta ????


Leonsystem

Leonsystem

Responder

Posts

28/07/2003

Joilson_gouveia

695 - Como copiar tabelas Paradox para Texto ou DBase e vice-versa
1) Inclua um TDATABASE no seu Form e sete as seguintes propriedades:
DatabaseName = ´Temp´
DriverName = ´STANDARD´
Params.Strings = ´path=c: este´ (ou qq outro path)
Connected = True
2) Inclua outro TTable em seu Form e sete as seguintes propriedades:
DatabaseName = ´Temp´
Name = ´DESTINO´
TableType = ttASCII ou ttDbase ou ttParadox
TableName = o nome da nova tabela, sem extensão. Ex: ´Clientes´
IMPORTANTE: Não mexa na propriedade ACTIVE.

3) Inclua um TTable em seu Form, contendo a tabela que você quer copiar e mude a propriedade Name para ORIGEM.
IMPORTANTE: Não mexa na propriedade ACTIVE.

4) Inclua um TBATCHMOVE em seu Form e sete as seguintes propriedades:
Destination = ´DESTINO´
Mode = batCopy
Source = ´ORIGEM´
5) Inclua um TBUTTON em seu form e dê um duplo click no evento OnClick.
6) Escreva o seguinte código na procedure OnClick:
var
fn: FMTNumber;
begin
// O código a seguir verifica se o separador de
// decimais é virgula e muda-o, para evitar
// problemas de compatibilidade
Check(DbiGetNumberFormat(fn));
if fn.cDecimalSeparator = ´,´ then
begin
fn.cDecimalSeparator := ´.´;
fn.cThousandSeparator := ´,´;
DbiSetNumberFormat(fn);
end;
// Aqui executamos a CÓPIA
BatchMove1.Execute;
end;


Responder

Gostei + 0

28/07/2003

Buosinet

Tem outro jeito que independe do tipo de acesso aos dados, alem de nao usar componentes auxiliares:

Suponha que sua query seja qryDados (pode ser BDE, IBX, DBX, tanto faz) e o campo que tenha a informação seja ´INFO´. Faça o seguinte:

var Lista : TStringList;

begin

Lista := TStringList.Create;
try
with qryDados do begin
Open;
Repeat
Lista.Add(FieldByName(´INFO´).AsString);
Next;
Until Eof;
Close;
end;
Lista.SaveToFile(´c:\arquivotexto.txt´);
finally
Lista.Free;
end;

end;


Responder

Gostei + 0

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

Aceitar