Remover linha de arquivo TXT criado no Delphi

Delphi

07/10/2014

Boa noite.

Eu estou gravando com o Delphi um arquivo TXT e acontece que após ele gravar a última linha e salta o cursor para a linha debaixo, ou seja, passa a contar como mais uma linha porém sem nada e cursor fica no início.

Como faço para remover ou impedir que esse linha seja criada, ou fazer com que ao gravar a última linha no arquivo o cursor fique no final da mesma evitando assim essa situação.
Pedro

Pedro

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

07/10/2014

Como você está gravando o arquivo?
GOSTEI 0
Pedro

Pedro

07/10/2014

Como você está gravando o arquivo?


Então Joel, eu estou fazendo dessa forma:

var
f : TextFile;
nome : String;

begin
AssignFile (f, ExtractFilePath (ParamStr (0)) + nomes.txt');
ReWrite(f);
Nome := '';
while not tabela.eof do
begin
nome := tabelanome.asstring;
WriteLn(f, nome);
tabela.next;
end;
CloseFile(f);
end;
GOSTEI 0
Jean Motta

Jean Motta

07/10/2014

Pedro, a sugestão é que você coloque um IF antes de escrever, testando se o registro do seu dataset é o último. Caso seja o ultimo a ser gravado, aí usa-se Write ao invés de WriteLn. Olha aí...


begin
AssignFile (f, ExtractFilePath (ParamStr (0)) + nomes.txt');
ReWrite(f);
Nome := '';
while not tabela.eof do
begin
nome := tabelanome.asstring;

//aqui
if tabelanome.recNro <> tabelanome.recordcount then
WriteLn(f, nome)
else
Write(f, nome);

tabela.next;
end;
CloseFile(f);
end;
GOSTEI 0
POSTAR