Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ein Problem mit Daten von Datei einlesen. (https://www.delphipraxis.net/29174-ein-problem-mit-daten-von-datei-einlesen.html)

ferby 5. Sep 2004 01:06


Ein Problem mit Daten von Datei einlesen.
 
Hallo,

Ich habe ein Spiel geschrieben das mitlerweile zimlich umfangreich geworden ist. Deshalb möchte ich die einzellnen Level´s in einer Datei speicher die so ausehen soll:

Level.dat:


Level1
10,20,4

Level2
40,30,6

Level3
20,60,4


.
.
.
.


in der variabel level ist das aktuelle level als zahl gespeichert.

wie mache ich das jetzt das ich die datei öffne, zum richtigen level springe und den einzellnen zahlen variabel zuordne. Versteht ihr was ich meine?

Z.B: level:=2;

so jetzt soll das Programm die Zahlen 40,30,6 einlesen und zuordnen: x:=40 y:=30 r:=6
Wie geht das?

ferby 5. Sep 2004 01:27

Re: Ein Problem mit Daten von Datei einlesen.
 
Hallo,

habe eine Lösung mit Seek gefunden.
probier mal selbst aus ob es so geht und wenn nicht schreib ich wieder...

MLurie 6. Sep 2004 15:37

Re: Ein Problem mit Daten von Datei einlesen.
 
Hi

Die vermutlich einfachste Variante ist mit einer StringList zu arbeiten:

Daten einlesen mit StringList.LoadFromFile(Pfad)

Danach kannst Du den Inhalt Zeile für Zeile durchgehen:
Delphi-Quellcode:
for i:=0 to StringList.Count-1 do
begin
  //mittles pos kannst Du auf Werte prüfen
  if Pos('Level', StringList[i])>0 then
    //Gefunden
end;
Variante: Halte Dich an das Ini-File Format, dann kannst Du mit TIniFiles arbeiten.
Oder Du definierst fix die Daten und weiss dann, was in welcher Zeile steht:

Erste Zeile: Levelhöhe
Zweite Zeile: Data
DritteZeile: Levelhöhe

usw.

Viel Spass (und lass die Finger von den komplizierten Streams ;-)

Michael

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

himitsu 6. Sep 2004 15:42

Re: Ein Problem mit Daten von Datei einlesen.
 
Wieso nimmst du keine INI, XML, oder ähnliches - dort läßt sich das doch einfach finden.

@MLurie
ich weiß zwar nicht, wie umfangreich die Daten für jedes Level sind, aber wenn man alle Daten auf einmal einließt kann da schon 'ne ganze Menge zusammen kommen, was da sinnlos eingelesen wird.

MLurie 6. Sep 2004 16:34

Re: Ein Problem mit Daten von Datei einlesen.
 
Zitat:

Variante: Halte Dich an das Ini-File Format, dann kannst Du mit TIniFiles arbeiten.
Oder Du definierst fix die Daten und weiss dann, was in welcher Zeile steht:
Sag ich doch ;-) @ himitsu

ferby 6. Sep 2004 16:44

Re: Ein Problem mit Daten von Datei einlesen.
 
Hallo,

Ich habe es so gelöst:

Delphi-Quellcode:
    assignfile(leveldatei, 'level.dat');
    reset(leveldatei);
    for i:=1 to level do
    readln(leveldatei, leveldat);
    closefile(leveldatei);
Dann wird immer die Zeile des jeweiligen levels eingelesen.
in der variabel level steht das jetzige level. in jeder zeile steh ein level data.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz