![]() |
10000 Werte in DATEI speichern
Hi
Ich bin gerade dabei ein Spiel zu schreiben, und das Problem ist, dass ich 10000 Werte speichern will. Ich habe mir ![]() Es sind 10000 Integer-Werte (Möglichst auch LongInt). Meine ini-Datei hatte keine Lust sie in einer Schleife in sich rein zu stopfen... Tumm |
Re: 10000 Werte in DATEI speichern
Machs mit nem MemoryStream... 10000 Integers in eine Ini-Datei.. :shock: :kotz:
Schreiben
Delphi-Quellcode:
Lesen:
var MS: TMemoryStream;
begin MS := TMemoryStream.Create; Ms.Write(AInteger, SizeOf(Integer); ...// soviel du willst.. auch inner Schleife wenn du willst/kannst Ms.SaveToFile(Filename); Ms.Free; end;
Delphi-Quellcode:
Is jetzt ohne try-except/finally... Neutral Generäle brauchen sowas nicht :oops:
var MS: TMemoryStream;
Buffer: Integer; // Oder auch direkt die Variable benutzen wos reinsoll (keine properties!) begin MS := TMemoryStream.Create; Ms.LoadFromFile(Filename); Ms.Read(Buffer, SizeOf(Integer); ...// soviel du willst.. auch inner Schleife wenn du willst/kannst Ms.Free; end; Gruß Neutral General |
Re: 10000 Werte in DATEI speichern
Hi,
in was für einer Struktur liegen denn deine Werte vor? Wenn es sich um ein Array handelt, dann kannst du das auch gleich in einem Rutsch lesen oder schreiben, ist dann um einiges schneller:
Delphi-Quellcode:
Lesen dann analog.
procedure saveToFile(const Data : TIntegerDynArray; const FileName : String);
var fs : TFileStream; begin if length(Data) > 0 then begin fs := TFileStream.Create(FileName, fmCreate or fmShareExclusive); try fs.Position := 0; fs.Write(Data[0], sizeOf(Data[0]) * length(Data)); finally fs.Free; end; end; Gruß Der Unwissende |
Re: 10000 Werte in DATEI speichern
Gute Idee! Is so. Danke. :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz