![]() |
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? |
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... |
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:
Variante: Halte Dich an das Ini-File Format, dann kannst Du mit TIniFiles arbeiten.
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; 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] |
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. |
Re: Ein Problem mit Daten von Datei einlesen.
Zitat:
|
Re: Ein Problem mit Daten von Datei einlesen.
Hallo,
Ich habe es so gelöst:
Delphi-Quellcode:
Dann wird immer die Zeile des jeweiligen levels eingelesen.
assignfile(leveldatei, 'level.dat');
reset(leveldatei); for i:=1 to level do readln(leveldatei, leveldat); closefile(leveldatei); in der variabel level steht das jetzige level. in jeder zeile steh ein level data. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 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 by Thomas Breitkreuz