Entwickler-Ecke
Dateizugriff - Wie die Daten am besten Speichern?
Boromir - Mo 17.02.03 20:38
Titel: Wie die Daten am besten Speichern?
Hi,
ich programiere gerade ein Spiel! (Weltraum) ! Und nun möchte ich das man sich verschiedene Schiffe beim kaufen ansehen kann! D.H. ich muss alle Daten der Schiffe speichern! Anfangs wollte ich das alles in ein Array schreiben, aber ich weiß nicht so genau, ob das so eine gute Lösung ist?
Hat irgendjemand eine Idee, wie man sone Daten am besten Abspeichern kann?
Danke
DaRkFiRe - Mo 17.02.03 21:07
Welche Daten hast Du denn!? Ich plädiere jetzt schonmal auf ein selbst-definiertes Dateiformat ODER Records!
Boromir - Mo 17.02.03 21:12
Titel: Text
Eigentlich sind es nur Arrays mit Text!
Text reicht vollkommen aus!
GruppeCN - Mo 17.02.03 21:13
Wie wärs, wenn du einfach alle Sachen für ein Schiff in eine Textdatei speicherst und diese dann mittels Delphi mit einer anderen Endung versiehst(kannst auch gleich ein Programm zum schreiben aller Infos erstellen). Dann kannst du alles so lesen:
Quelltext
1:
| var schiff: TStringList; |
Quelltext
1: 2: 3: 4: 5: 6: 7:
| function auslesen(datei: String;nummer: Integer): String; begin schiff := TStringList.Create; schiff.LoadFromFile(datei); result := schiff[nummer]; schiff.Free; end; |
Aufruf:
Quelltext
1:
| wasweissich := auslesen(schiffeins.aaa,5); |
Boromir - Mo 17.02.03 23:43
Wie muss ich denn die Textdatei aufbauen, damit ich diese einlesen kann?
Kann ich einfach alle Strings durch ein Leerzeichen getrennt hintereinander schreiben?
Es muss doch eine bestimmte Reihenfolge geben, damit die TStringList weiß welches Schiff angewählt wird?
Fred Ferkel - Di 18.02.03 06:39
jedes schiff samt den anderen infos in eine zeile ya sonst ist schmutz! ;)
cya
FBrk - Di 18.02.03 11:33
Titel: warum nicht gleich ordentlich
Es ist doch wesentlich sinnvoller eine Typisierte datei zu nehmen, da du sicher nicht nur Text sondern auch irgenwann Spielrelewante daten über die Schiffe speichern möchtest.
z.B.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Type TSchiff = record SchiffNr : byte; // zur eindeutigen identifizirung name : String[40]; // Name lange : word; // länge des Schiffes breite : word; // breite -"- Tiefgang : byte; // :) speed : integer; Beschreibung : String [255]; // bei bedarf kann man ja ein array of String machen. end; |
Strings müssen in der Länge begrenzt werden.
Um nun in der Date zu navigieren solltest du dir mal die hilfe zu "seek" angucken
Ach ja,... man kann auch eine Class erstellen für die SchiffDaten. Das macht sogar sinn, da man in Klassen Vererben kann und somit eingenschaften wie z.B. Dasvortbewegen immer übernehmen kann.
Aber das war ja nicht gefragt :)
Moderiert von
Tino: Code-Tags hinzugefügt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!