Supongo que el array [0..666] son los caracteres a los que quiero cortar.
Lo he probado del siguiente modo:
Código Delphi
[-]procedure TForm1.Button2Click(Sender: TObject);
Var hFile, Size: Integer;
Buffer : Array [0..200] Of Char;
begin
If OpenDialog1.Execute Then
Begin
hFile := _lopen(PChar(OpenDialog1.FileName), OF_READ);
if hFile = -1 then Exit; repeat Size := _lread(hFile, @Buffer, SizeOf(Buffer) - 1);
Buffer[Size] := #0;
if LongBool(Size) then
Memo2.Lines.Add(PChar(@Buffer)); until Size < (SizeOf(Buffer) - 1);
CloseHandle(hFile);
end;
End;
Y Cortando a 120 caracteres el fichero correspondiente, lo hace perfectamente, pero el de 200 me cae en bucle, y no se por que.