Ver Mensaje Individual
  #7  
Antiguo 11-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola force1758.

Estos son algunas de las formas que podes leer un archivo de texto por líneas (newtron y Neftali ya te mencionaron y ejemplificaron las dos mas ortodóxas)

Con Readln
Código Delphi [-]
var
  txt : TextFile;
  line: string;
begin
  AssignFile(txt, 'C:\nombre.txt');
  Reset(txt);
  while not eof(txt) do
  begin
    Readln(txt,line);
    Memo1.Lines.Add(line); // hacer algo con las lineas
  end;
  CloseFile(txt);
end;

Con TStrings:
Código Delphi [-]
begin
  with TStringList.Create do
  try
    LoadFromFile('C:\nombre.txt');
  finally
    Memo1.Text := Text; // hacer algo con las lineas
    Free;
  end;
end;

Con FileStream:
Código Delphi [-]
var
 s  : string;
begin
  with TFileStream.Create('C:\nombre.txt',fmOpenRead) do
  try
    Seek(0,soFromBeginning);
    SetLength(s, Size);
    Read(Pointer(s)^, Size);
  finally
    Free;
    Memo1.Text := s; // hacer algo con las lineas
  end;
end;

Con MemoryStream
Código Delphi [-]
var
  s : string;
begin
  with TMemoryStream.Create do
  try
    LoadFromFile('C:\nombre.txt');
    Seek(0, soFrombeginning);
    SetLength(s,Size);
    Read(Pointer(s)^, Size);
  finally
    Free;
    Memo1.Text := s;
  end;
end;
Y las combinaciones que con ellas se te ocurran y sea posible implementar.

Saludos.

Edito: Si comparas tu primer código con el de newtron, verás que ademas de no usar un ciclo para la lectura, estás usando Read y no Readln.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-07-2013 a las 19:34:01.
Responder Con Cita