Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi "Spielfeld" speichern... (https://www.delphipraxis.net/7614-spielfeld-speichern.html)

Yheeky 17. Aug 2003 19:22


"Spielfeld" speichern...
 
Hi,

ich habe ein "Spielfeld" mit 40x65 Feldern -> 2600 Felder. Jedes dieser Felder hat einen "Status", den ich in einer Datei speichern muss. Jetzt meine Frage: Wie kann ich diese Daten am besten speichern und laden?
Ich hab´s bereits so probiert:

Code:
type
    Daten = record
[...]
    end;
    Felder = Array [1..2600] of Daten;
Jedoch bekomme ich hier angezeigt, dass der Datentyp zu groß ist (2GB). Also was könntet ihr empfehlen?

Gruß Yheeky

WooDWorkeR 17. Aug 2003 19:25

Re: "Spielfeld" speichern...
 
cool ein Array mit 2GB
das rockt deine kiste richtig.

Systemanforderugnen für dieses SPiel ca 2,5GB + 100MB für Windows *gg*

Yheeky 17. Aug 2003 19:28

Re: "Spielfeld" speichern...
 
Hehe, diesen "Fehler" hab ich inzwischen in den Griff bekommen, dennoch bleibt meine Frage weiterhin aktuell...

WooDWorkeR 17. Aug 2003 19:42

Re: "Spielfeld" speichern...
 
ach und mir geht gerade eine gedanke durch den kopf

ansatt jedem feld einen eine ID zu geben wie wärs wenn du sie über ihre schnitt punkte definierst.

anstatt feld 1 und 3 und 4 und 56 usw

lieber feld (1,3) und (1,5)
das wäre doch eingtlich besser oder?

Dannyboy 17. Aug 2003 19:44

Re: "Spielfeld" speichern...
 
Delphi-Quellcode:
type
    Daten = record
[...]
    end;
    Felder = Array [1..2600] of Daten;

procedure save(filename : string);
var F : File Of Daten;
    dummy : Daten;
    i : integer;
begin
  AssignFile(F, filename);
  rewrite(F);
  If IOResult = 0 then
    for i:= 1 to 2600 do
    begin
      dummy:= Felder[i];
      write(F, dummy);
    end
  else "Fehlerausgabe"
  CloseFile(F);
end;

Ich würde es aber präferieren, Literale zu vermeiden, damit Du bei einer
eventuellen Längenänderung des Arrays einfach nur 1 Konstante "max"
ändern müsstest und nicht jede Funktion einzeln!!!
Delphi-Quellcode:
const max = 2600;

type
    Daten = record
[...]
    end;
    Felder = Array [0..max-1] of Daten;

Yheeky 17. Aug 2003 20:21

Re: "Spielfeld" speichern...
 
@WooDWorkeR: Sehr gute Überlegung, würde möglicherweise einiges vereinfachen. Ich werde mal schauen, aber schonmal danke für die Idee!

Danke auch dir Dannyboy für den Code. Also mache ich es, wie ich es auch schon vorhatte über Arrays.

Thx!

Gruß Yheeky


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 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