Fórum Meu While não le a última linha do arquivo texto #579587
31/03/2017
0
Var
Arq : TextFile;
Arqorigem, Linha : String;
Str : TStringList;
Dia : string;
begin
AssignFile(Arq,Edit1.Text);
str := TStringList.Create;
Reset(Arq);
ReadLn(Arq, Linha);
while not eof(Arq) do Begin
try
str.StrictDelimiter := true;
str.Delimiter := '@';
str.DelimitedText := Linha;
DsInsere.DataSet.Open;
DsInsere.DataSet.Insert;
qInsere.FieldByName('UF').Value := Trim(Str[0]);
qInsere.FieldByName('LOCA_').Value := Str[4];
qInsere.FieldByName('CEP8').Value := Str[6];
qInsere.FieldByName('NOME').Value := Str[8];
qInsere.FieldByName('BAIINI').Value := Str[10];
qInsere.FieldByName('TIPO').Value := Str[12];
DsInsere.DataSet.Post;
except
ShowMessage('Erro ao importar arquivo.');
Abort;
end;
Readln(Arq, Linha);
end;
CloseFile(Arq);
ShowMessage('Arquivo importado com sucesso.');
end;Rodrigo Oliveira
Curtir tópico
+ 0Post mais votado
01/04/2017
Se excluir o primeiro ReadLn (o que está fora do laço) e colocar o último ReadLn (o do final do laço) no início do while não dá certo?
Daniel Araújo
Sombra Tecnologia
Consultoria e Desenvolvimento de Sistemas
sombra.tecnologia@gmail.com
55 85 98135-5516
Daniel Araújo
Gostei + 1
Mais Posts
02/04/2017
Raylan Zibel
Reset(Arq);
//ReadLn(Arq, Linha);
while not eof(Arq) do
begin
ReadLn(Arq, Linha);
try
Str.StrictDelimiter := true;
Str.Delimiter := '@';
Str.DelimitedText := Linha;
Memo1.Lines.Add(Str[0] + ' | ' + Str[1]);
except
ShowMessage('Erro ao importar arquivo.');
Abort;
end;
//Readln(Arq, Linha);
end;
Gostei + 1
03/04/2017
Rodrigo Oliveira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)