Am 06.10.20 um 01:08 schrieb Jean SUZINEAU via fpc-pascal:
In my own code I use BlockRead/BlockWrite, but I'm wondering if I've
not seen this somewhere in RTL.
https://github.com/jsuzineau/pascal_o_r_mapping/blob/TjsDataContexte/pascal_o_r_mapping/02_Units/uuStrings.pas
function String_from_File( _FileName: String): String;
var
F: File;
Longueur: Integer;
begin
Result:= '';
if not FileExists( _FileName) then exit;
AssignFile( F, _FileName);
try
Reset( F, 1);
Longueur:= FileSize( F);
if 0 = Longueur then exit;
SetLength( Result, Longueur);
BlockRead( F, Result[1], Longueur);
finally
CloseFile( F);
end;
end;
procedure String_to_File( _FileName: String; _S: String);
var
F: File;
begin
if '' = _S then exit;
AssignFile( F, _FileName);
try
ReWrite( F, 1);
BlockWrite( F, _S[1], Length( _S));
finally
CloseFile( F);
end;
end;
Hi!
Great idea!
Longueur should be Int64
Winni
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal