Exportar dados de uma consulta SQL para arquivo txt

Delphi

21/01/2005

Olá Pessoal,


Meu problema é o seguinte: Ao relizar uma consulta SQL eu devo exportar o resultado da mesma para um arquivo txt. Mas este arquivo deve seguir alguns parametros, ele deve ter um numero X de colunas, e as mesmas devem ter um espaço determinado entre elas. Será que alguem poderia me dizer se tem algum componente especifico pra isto?
Ou me da uma luz de como fazer isto via programação?!

Desde já agradeço a cooperação


Morticia

Morticia

Curtidas 0

Respostas

Reginaldo174

Reginaldo174

21/01/2005

Informe qual Bd está usando e quais componentes.
Dê um exemplo de como ficaria o arquivo txt


GOSTEI 0
Morticia

Morticia

21/01/2005

Estou usando o firebird 1.5 faço a consulta atraves de um query. Ai preciso gerar um arquiv txt.
O arquivo seria assim:
coluna_nome (espaço 5 posições) coluna_endereço(espaço10 posições) e assim por diante.
Informe qual Bd está usando e quais componentes. Dê um exemplo de como ficaria o arquivo txt



GOSTEI 0
Marcio.theis

Marcio.theis

21/01/2005

writeln(txt,Espacos(´NOME_CLIENTE´,20,´L´,´ ´);

passo como parâmetro para a função o texto que eu quero, n° de caracteres a preencher, ´L´ -> Esquerdo ´R´ -> Direito, Tipo de caracter a ser preenchido;

Sendo que desta forma eu tenho como retorno uma string formatada, e com a quantidade de espaços desejada alinhado do lado desejado.

function Espacos(str: string; total: integer; LR, prench: char):String;
var
   s: string;
   x, tam: integer;
begin
tam:=length(str);
s:=´´;
if tam > total then
    begin
    s := copy(str, 1, total);
    end
else
    begin
    for x:=tam to (total - 1)  do
        begin
        s:=s + prench;
        end;
    if LR = ´L´ then
        s:=str + s
    else
        s:=s + str;
    end;
Espacos:=s;
end;


espero que lhe sirva.


GOSTEI 0
Marcio.theis

Marcio.theis

21/01/2005

writeln(txt,Espacos(´NOME_CLIENTE´,20,´L´,´ ´);

passo como parâmetro para a função o texto que eu quero, n° de caracteres a preencher, ´L´ -> Esquerdo ´R´ -> Direito, Tipo de caracter a ser preenchido;

Sendo que desta forma eu tenho como retorno uma string formatada, e com a quantidade de espaços desejada alinhado do lado desejado.

function Espacos(str: string; total: integer; LR, prench: char):String;
var
   s: string;
   x, tam: integer;
begin
tam:=length(str);
s:=´´;
if tam > total then
    begin
    s := copy(str, 1, total);
    end
else
    begin
    for x:=tam to (total - 1)  do
        begin
        s:=s + prench;
        end;
    if LR = ´L´ then
        s:=str + s
    else
        s:=s + str;
    end;
Espacos:=s;
end;


espero que lhe sirva.


GOSTEI 0
POSTAR