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 txt tabulado

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


Registrado: Quinta-Feira, 19 de Abril de 2012
Mensagens: 19

MensagemEnviada: Sex Jun 22, 2012 12:24 pm    Assunto: Exportar txt tabulado Responder com Citação

Boa tarde achei um codigo na web para exportar para txt e modifiquei para minha realidade. Porem na hora de exportar ele nao exporta as 2 ultimas linhas.

var
Caminho : String; //Será Responsável pelo caminho do nosso arquivo
mArq : TextFile; //É o nosso arquivo em si
begin

if SaveDialog1.Execute then
begin

ZTable1.Refresh;
ZTable1.Open;
ProgressBar1.Max := ZTable1.RecordCount;

AssignFile(mArq, SaveDialog1.FileName); //Cria o Arquivo
Rewrite(mArq); {Abre para gravação}

while not ZTable1.Eof do
Begin
Writeln( marq ,
Padr(Copy(ZTable1.FieldByName('Nome').Value , 1, 30), 30 , ' ') + ' ' +
Padr(Copy(ZTable1.FieldByName('Valor').Value , 1 , 6), 6 , ' '));

ProgressBar1.Position := ProgressBar1.Position + 1;
ZTable1.Next;
End;

ShowMessage('Processo Concluído!!!');
end;
end;


Tem tb a função Padr - Tb nao entendi para que serve.

function TForm1.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;


Aguem sabe me dizer onde esta o erro ou tem algum outro exemplo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Jun 22, 2012 12:42 pm    Assunto: Responder com Citação

Boa tarde,

Acho que o problema pode estar ocorrendo porque não está sendo executado o CloseFile depois do looping:

Código:
CloseFile(mArq);


Sobre essa função PadR que você postou, acho que o objetivo é complementar o conteúdo do campo com um caracter (no seu caso um espaço em branco) até que seja atingida uma quantidade de caracteres.
Acho que também poderia ser utilizada a função nativa Format. Ex:

Código:
Writeln( marq ,
         Format('%-30.30s', [Copy(ZTable1.FieldByName('Nome').AsString]) +
         ' ' +
         Format('%-6.6s', [Copy(ZTable1.FieldByName('Valor').AsString]) );


Espero que ajude.

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-venda-suzano-residencial
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
AdalmirAM
Novato
Novato


Registrado: Quinta-Feira, 19 de Abril de 2012
Mensagens: 19

MensagemEnviada: Sex Jun 22, 2012 2:06 pm    Assunto: [Resolvido} Muito obrigado Imex Responder com Citação

Obrigado pela atenção.

Faleu Imex.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
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