1ª Linha Arquivo Texto !!!

Delphi

22/08/2003

Ola Pessoal, estou com dificuldade em resolver um problema. Tenho um código que le um arquivo .txt e passa para uma memo. O problema é que a 1ª linha do arquivo não aparece na memo, onde esta o erro,? ao ler ou ao passar p/ a memo?

Código Abaixo:

[color=green:328723cd9b]

Var
Linha, Arquivo: String;
Arq: TextFile;

Begin
AssignFile(arq, Arquivo);
Reset (arq);
ReadLn (arq, linha);

while not Eof (arq) do
Begin
ReadLn (arq, linha);
if linha <> ´´ then
Memo1.Lines.Add(Linha);
end;
CloseFile ( arq );
end;
[/color:328723cd9b][quote:328723cd9b][/quote:328723cd9b]


Alves

Alves

Curtidas 0

Respostas

Nildo

Nildo

22/08/2003

Faz assim:

Memo1.lines.loadFromFile(´SeuArquivo.txt´);


GOSTEI 0
Alves

Alves

22/08/2003

Tbem pode ser feito isso, mas preciso carregar a partir da variável, pq é preciso eliminar as linha que estão em ´branco´.

Faz assim: Memo1.lines.loadFromFile(´SeuArquivo.txt´);



GOSTEI 0
Cebikyn

Cebikyn

22/08/2003

... é preciso eliminar as linha que estão em ´branco´.


Então use o código do Nildo juntamente com:

var
  x: integer;
begin
  for x:=0 to Memo1.Lines.Count-1 do
    if (Memo1.Lines[x] = ´´)
    then
      Memo1.Lines.Delete(x);
end;



GOSTEI 0
Nildo

Nildo

22/08/2003

Esqueceu do Trim na checagem se a linha esta em branca. As vezes tem espaços ou o memo pode nao entender o #1013 como ´´ (vazio).


GOSTEI 0
Pgarcia

Pgarcia

22/08/2003

Vc chama um readln antes de entrar no while e depois chama de novo. Só ai vc coloca no memo. Isso faz com que a linha lida pelo ReadLn de fora do while seja perdida.

Para solucionar, inverta o ReadLn de dentro do while com o if:

while not Eof (arq) do
Begin
if linha <> ´´ then
Memo1.Lines.Add(Linha);
ReadLn (arq, linha);
end;
CloseFile ( arq );


[]´s
Paulo


GOSTEI 0
Alves

Alves

22/08/2003

Vivendo e Aprendendo...
vou fazer os testes...

Agradeço a todos vocês pela ajuda.


GOSTEI 0
POSTAR