Gerar arquivo de texto!!!!!!

03/01/2006

0

preciso gerar um arquivo de texto com aseguinte estrutura:


CCCCCC CODIGO DO ITEM (6 BYTES)
PPPPPP PREÇO (6 BYTES)


montei a seguinte rotina :
--------------------------------------------------------------------------------
var arq: TextFile;
linha: String;
begin

qry_log.Close;
qry_log.SQL.Clear;
qry_log.SQL.Add(´select * from cad_log_prod ´);
qry_log.SQL.Add(´where unid_cod=´´+unidcod+´´ and prod_balanca=´S´ order by prod_cod´);
qry_log.Open;


AssignFile ( arq, ´c:\Dmb\PRECOMGV.TXT´ );
Rewrite ( arq );
qry_log.First;
while not qry_log.Eof do
begin
WriteLn ( arq, qry_log.FieldByName(´prod_cod´).asstring );
WriteLn ( arq, FormatFloat ( ´0000.00´, qry_log.FieldByName ( ´prod_precvenda´ ).AsFloat ) );
WriteLn ( arq );
qry_log.Next;
end;
CloseFile ( arq );

o resultado do arquivo gerardo é o seguinte:
===============================
5
000002

6
000013

8
000001

9
000001

10
000002

========================




OS NUMERO TEM QUE SER PREENCHIDOS COM ZEROS A ESQUERDA E O PREÇO SEM PONTUAÇÃO..... HA : NÃO PODE EXISTIR ESTE ESPAÇO DE LINHAS.


COMO FAÇO?

Desde já agradeço...


Fábio Galvão

Fábio Galvão

Responder

Posts

03/01/2006

Eixox

AssignFile ( arq, ´c:\Dmb\PRECOMGV.TXT´ );
Rewrite ( arq );
qry_log.First;
while not qry_log.Eof do
begin
WriteLn ( arq, [b:87e55eda07]qry_log.FieldByName(´prod_cod´).asstring [/b:87e55eda07]);

Substitua por

WriteLn ( arq, FormatCurr(´000000´,qry_log.FieldByName(´prod_cod´).value);

Não se preocupe se o valor é inteiro, vai fazer isso sem problemas.


WriteLn ( arq, FormatFloat ( ´0000.00´, qry_log.FieldByName ( ´prod_precvenda´ ).AsFloat ) );

[b:87e55eda07]WriteLn ( arq ); [/b:87e55eda07]
Remova essa linha aqui - é ela que acrescenta as linhas em branco que você não quer.

qry_log.Next;
end;
CloseFile ( arq );

Falou Carinha?...


Responder

03/01/2006

Eixox

na linha onde tem o formatcurr eu esqueçi de colocar um parênteses no final
WriteLn ( arq, FormatCurr(´000000´,qry_log.FieldByName(´prod_cod´).value)[b:88b2e063f4])[/b:88b2e063f4];


Responder

03/01/2006

Marcio.theis

Vc deve de remover o segundo writeln, pois senão irá para uma nova linha, deixe;

WriteLn(arq, ´VALOR´);
Write(arq, ´VALOR´);



Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar