GARANTIR DESCONTO

Fórum Arquivo texto, nao grava todas as linhas #348702

08/11/2007

0

Bom dia!

Esta acontecendo o seguinte:
tenho um pedido de venda e antes de gravar no banco eu gravo um arquivo texto dos itens,

    AssignFile(f,´C:\TEMP\´+ED_NUM.text);
    ReWrite(f);
.
.
    Write  (f,xRows);
    Write  (f,´|´);
    Write  (f,ED_COD.Text);
    Write  (f,´|´);
    Write  (f,copy(ED_DESC.Text,1,34));
    Write  (f,´|´);
    Write  (f,FloatToStr(nQtd));
    Write  (f,´|´);
    Write  (f,FloatToStr(nQtd2));
    Write  (f,´|´);
    Write  (f,xPreco);
    Write  (f,´|´);
    Write  (f,FloatToStr(nDesc1));
    Write  (f,´|´);
   
    Write  (f,xTotal);
    Write  (f,´|´);
    WriteLn(f,xUnitario);
.
.
    CloseFile(f);


Mas se digito 5 itens ele so grava no texto 2 ou as vezes grava somente 1 linha e a metade da segunda, nao chega a gravar todos os 5 itens, mas se eu colocar no final do arquivo uns
WriteLn(f);
WriteLn(f);
WriteLn(f);
WriteLn(f);
WriteLn(f);
ai grava todos os itens mas fica com linhas branco no final do arquivo, alguem sabe como resolver isso.

Nao sei se fui claro na exposicao do problema.


Claudio_f

Claudio_f

Responder

Posts

08/11/2007

Facc

Acredito que vc tenha que colocar dentro de um loop

cria arquivo texto
while nao fim tabela do
begin
  grava no arquivo texto 
  proximo
end;



esse é o grosso do que deve ser feito


Responder

Gostei + 0

08/11/2007

Jáder Medeiros

Sugiro você utilizar apenas um [b:bd70ac7594]WriteLn[/b:bd70ac7594] para cada linha utilizando a função [b:bd70ac7594]Format[/b:bd70ac7594].
Para cada [b:bd70ac7594]WriteLn[/b:bd70ac7594], sugiro você colocar um [b:bd70ac7594]Flush(f)[/b:bd70ac7594].


Responder

Gostei + 0

08/11/2007

Claudio_f

Obrigado pessoal!

Flush(f).

funcionou, gravou todos as linhas ateh o fim.


Responder

Gostei + 0

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

Aceitar