Bei einer nicht bekannten Datei, weiß er natürlich nicht, wie viel er auslesen soll, da dieser Eert beim start ja noch auf Null steht. Daher mußte die Länge der Datei mit abspeichern.
Delphi-Quellcode:
var Settings:TFileStream;
var ini:String;
var length : integer;
[..]
if not FileExists('settings.txt') then
Settings:=TFileStream.Create('settings.txt', fmcreate)
else
Settings:=TFileStream.Create('settings.txt', fmopenwrite);
length := sizeof(ini);
Settings.Write(length, sizeof(length));
Settings.Write(ini,i);
Settings.Free;
und einlesen mache ich so:
Delphi-Quellcode:
var Settings:TFileStream;
var str:String;
var length: integer;
[..]
if not FileExists('settings.txt') then
ShowMessage('Keine Preset Datei gefunden')
else
begin
Settings:=TFileStream.Create('settings.txt', fmopenread);
settings.read(length, sizeof(length));
Settings.Read(str,length);
Settings.Free;
end;