Autor Beitrag
Boromir
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 45



BeitragVerfasst: Mo 17.02.03 20:38 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Mo 17.02.03 21:07 
Welche Daten hast Du denn!? Ich plädiere jetzt schonmal auf ein selbst-definiertes Dateiformat ODER Records!

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
Boromir Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 45



BeitragVerfasst: Mo 17.02.03 21:12 
Titel: Text
Eigentlich sind es nur Arrays mit Text!
Text reicht vollkommen aus!
GruppeCN
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: 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:

ausblenden Quelltext
1:
var schiff: TStringList;					


ausblenden 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:
ausblenden Quelltext
1:
wasweissich := auslesen(schiffeins.aaa,5);					

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
Boromir Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 45



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 18.02.03 06:39 
jedes schiff samt den anderen infos in eine zeile ya sonst ist schmutz! ;)
cya
FBrk
Hält's aus hier
Beiträge: 8



BeitragVerfasst: 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.
ausblenden 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 user profile iconTino: Code-Tags hinzugefügt.

_________________
Warum einfach wenn´s auch kompliziert geht??