Archiv verlassen und diese Seite im Standarddesign anzeigen : Delphi: Felder laden / speichern
Ich hab ein Feld von 2^22 smallints, also 8 MiB Größe. Kann man das direkt als Datei speichern und wieder laden, ohne einzeln die smallints zu laden, bzw. ohne die Datei erst in einen TMemoryStream zwischenpuffern zu müssen?
Crushinator
2004-12-14, 18:56:49
So aus dem Kopf...
procedure WriteFile();
var
MySmInts : array[1..140000] of Smallint;
MyFile: File;
begin
AssignFile(MyFile, 'bla.txt');
ReWrite(MyFile, 1);
BlockWrite(MyFile, MySmInts, Sizeof(MySmInts));
CloseFile(MyFile);
end;
procedure ReadFile();
var
MySmInts : array[1..140000] of Smallint;
MyFile: File;
begin
AssignFile(MyFile, 'bla.txt');
Reset(MyFile, 1);
BlockRead(MyFile, MySmInts, Sizeof(MySmInts));
CloseFile(MyFile);
end;
Es müßte so in etwa funktionieren. Als Idee sollte es jedenfalls taugen.
Jupp, blockread und blockwrite gehen. Danke.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.