Ver Mensaje Individual
  #3  
Antiguo 19-06-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Reputación: 20
oscarac Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
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


y con funcionan?
tienes un ejemplo?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita