Hola velapuerca88.
Supongo que te están restringiendo al uso de arreglos. Te paso una opción similar que no requiere uso de objetos:
Código Delphi
[-]
...
type
TDynArrayStr = array of string;
...
procedure LeerDeArchivo(const NomArch: string; var Lista: TDynArrayStr);
var
Txt: TextFile;
NroL: integer;
begin
AssignFile(Txt, NomArch);
Reset(Txt);
try
NroL:= 0;
while not Eof(Txt) do
begin
SetLength(Lista, Length(Lista)+1);
Readln(Txt,Lista[NroL]);
Inc(NroL);
end;
finally
CloseFile(Txt);
end;
end;
...
Utilizo un arreglo dinámico en lugar de uno estático, por que no se puede conocer de antemano la cantidad de líneas que posee el archivo.
Ejemplo de llamada a la función:
Código Delphi
[-]
...
var
Lineas: TDynArrayStr;
begin
LeerDeArchivo('TU_ARCHIVO.TXT', Lineas);
...
end;
Saludos.