1ª Linha Arquivo Texto !!!
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]
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
Curtidas 0
Respostas
Nildo
22/08/2003
Faz assim:
Memo1.lines.loadFromFile(´SeuArquivo.txt´);
Memo1.lines.loadFromFile(´SeuArquivo.txt´);
GOSTEI 0
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
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
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
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
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
22/08/2003
Vivendo e Aprendendo...
vou fazer os testes...
Agradeço a todos vocês pela ajuda.
vou fazer os testes...
Agradeço a todos vocês pela ajuda.
GOSTEI 0