ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Exportar Tabela para Txt ou Doc

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
eulicio
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 15 de Janeiro de 2004
Mensagens: 336

MensagemEnviada: Qua Out 28, 2009 12:04 pm    Assunto: Exportar Tabela para Txt ou Doc Responder com Citação

Olá pessoal,

Preciso urgentemente fazer uma exportação de dados de uma tabela Fb para um txt ou para o Word e não estou conseguindo. Vendo um artigo do Emerson Martins, Fiz:

{ Private declarations }
function PadR(cStr: string; nSize: Integer; cCar: string): string;

Function TForm6.PadR(cStr: String; nSize: Integer; cCar: String): String;
var
nFor, nAux: Integer;
cAux: String;
begin
cAux := Trim(cStr);
nAux := Abs(Length(cAux)-nSize)-1;
for nFor := 0 to nAux do
cAux := cAux+cCar;
Result := cAux;
end;

procedure TForm6.Button7Click(Sender: TObject);
var
Caminho : String;
mArq: TextFile;
begin
//Exportar.
DataModule1.cdsVRBPLT.Open;
Caminho := ('C:\INICIALTRAB9\ITENSVP.txt');
AssignFile(mArq, Caminho);
Rewrite(mArq);
While Not DataModule1.cdsVRBPLT.Eof do
Begin
Writeln(marq,
Padr(Copy(DataModule1.cdsVRBPLTVPVERBAS.Text,1, 6), 118, ' ')+ ' '+
Padr(Copy(DataModule1.cdsVRBPLTVPVALOR.Text, 1, 30), 30, ' ')+ ' ');
DataModule1.cdsVRBPLT.Next;
End;
Close;
end;

mas não funcionou corretamente. No arquivo txt do Bloco de Notas só aparece a última linha da tabela (o resultado final).
a tabela só tem dois campos (Verbas e Valor). o que pode estar errado ?

Uso D7, Fb 2.1, IBExpert e DbExpress.

agradeço qualquer . obrigado. eulicio (ecpetini@gmail.com)

PS: Se alguém tiver uma rotina para exportação para o Word seria melhor ainda. obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Qua Out 28, 2009 12:12 pm    Assunto: Responder com Citação

no lugar de close; experimente colocar CloseFile(mArq);

pra exportar por word, procure no google q tem bastante exemplos
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
eulicio
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 15 de Janeiro de 2004
Mensagens: 336

MensagemEnviada: Qua Out 28, 2009 2:38 pm    Assunto: Exportar tabela para Txt ou Doc Responder com Citação

Joemil,

muito obrigado pela sua dica, mas não resolveu o problema.
continua aparecendo só a última linha da tabela.
quanto a exportar para doc realmente tem muita coisa, só que as mais simples não funcionam a contento e as mais complexas eu não tentei.
de qualquer forma vou continuar tentando.

[]s. eulicio.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
danilo.vitolo
Colaborador
Colaborador


Registrado: Terça-Feira, 3 de Março de 2009
Mensagens: 1029
Localização: São Paulo - SP

MensagemEnviada: Qua Out 28, 2009 2:41 pm    Assunto: Re: Exportar tabela para Txt ou Doc Responder com Citação

eulicio escreveu:
Joemil,

muito obrigado pela sua dica, mas não resolveu o problema.
continua aparecendo só a última linha da tabela.
quanto a exportar para doc realmente tem muita coisa, só que as mais simples não funcionam a contento e as mais complexas eu não tentei.
de qualquer forma vou continuar tentando.

[]s. eulicio.


amigo...
coloque o First antes do While

Assim:

procedure TForm6.Button7Click(Sender: TObject);
var
Caminho : String;
mArq: TextFile;
begin
//Exportar.
DataModule1.cdsVRBPLT.Open;
Caminho := ('C:\INICIALTRAB9\ITENSVP.txt');
AssignFile(mArq, Caminho);
Rewrite(mArq);
DataModule1.cdsVRBPLT.First;
While Not DataModule1.cdsVRBPLT.Eof do
Begin
Writeln(marq,
Padr(Copy(DataModule1.cdsVRBPLTVPVERBAS.Text,1, 6), 118, ' ')+ ' '+
Padr(Copy(DataModule1.cdsVRBPLTVPVALOR.Text, 1, 30), 30, ' ')+ ' ');
DataModule1.cdsVRBPLT.Next;
End;
Close;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB