Ver Mensaje Individual
  #2  
Antiguo 19-06-2019
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Reputación: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
A si puedo darte una mano.

Me imagino que el archivo que estas intentando leer viene de algún Unix* o Linux.

Debido a eso el final de linea no es el mismo que los archivos de texto de windows.

Unix*linux: Marcador fin de linea es #13
linea-> aaaa#13

Windows: Marcador fin de linea es #13+#10
linea-> aaaa#13#10

Es por este motivo que al leerlo asume que es una GRAN LINEA.

Solución hay varias en la web te adjunto un ejemplo de lectura no es lo mejor es solo con fines didacticos.

Código Delphi [-]
procedure TForm4.Button1Click(Sender: TObject);
var
   f1 : TextFile;
   line:string;
   s:char;
begin
     AssignFile(f1, edtFile.Text);
     Reset(f1);

     memo1.lines.clear;

     while not Eof(f1) do
     begin
          Read(f1, s);
          {Evalua si S= (#13 = #$D)}
          if (s=#$D) then
          begin
              memo1.lines.Add(line);
              line:='';
          end
          else
          begin
              line:=line+s;
          end;
     end;
     closefile(f1);
end;

Recuerda esta codigo es muyyyyy lento ya que lee un caracter a vez...

Acá Converting from Windows ASCII to UNIX ASCII Text Files enlace donde proponen dos rutinas para convertir...

Saludos cordiales
Responder Con Cita