Arquivo texto, nao grava todas as linhas
Bom dia!
Esta acontecendo o seguinte:
tenho um pedido de venda e antes de gravar no banco eu gravo um arquivo texto dos itens,
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.
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
Curtidas 0
Respostas
Facc
08/11/2007
Acredito que vc tenha que colocar dentro de um loop
esse é o grosso do que deve ser feito
cria arquivo texto while nao fim tabela do begin grava no arquivo texto proximo end;
esse é o grosso do que deve ser feito
GOSTEI 0
Jáder Medeiros
08/11/2007
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].
Para cada [b:bd70ac7594]WriteLn[/b:bd70ac7594], sugiro você colocar um [b:bd70ac7594]Flush(f)[/b:bd70ac7594].
GOSTEI 0
Claudio_f
08/11/2007
Obrigado pessoal!
Flush(f).
funcionou, gravou todos as linhas ateh o fim.
Flush(f).
funcionou, gravou todos as linhas ateh o fim.
GOSTEI 0