Prueba con esto:
Código Delphi
[-]
var
Fichero: File;
Buffer: array[0..700] of Char; Leidos: Integer;
Str: string;
begin
AssignFile(Fichero,'c:\Archivo.txt');
Filemode:= fmOpenRead;
{$I-}
Reset(Fichero,1);
{$I+}
if IOResult = 0 then
begin
repeat
FillChar(Buffer,Sizeof(Buffer),0);
BlockRead(Fichero,Buffer,Sizeof(Buffer)-1,Leidos);
if Leidos > 0 then
begin
Str:= String(PChar(@Buffer));
ShowMessage('Longitud del string = ' + IntToStr(Length(Str)));
end;
until Leidos < (Sizeof(Buffer) - 1);
CloseFile(Fichero);
end else
ShowMessage('No puedo abrir el archivo');
end;
Vamos leyendo los bytes de 700 en 700 y luego los convertimos en un string. el byte extra en el buffer es porque las cadenas tipo PChar necesitan acabar en un carácter nulo. El resto creo que se entiende bien, sino pregunta.