![]() |
Spezielle Daten aus einer Datei abfragen
Hallo,
Ich habe eine Frage bezügl. der Entwicklung eines Rollenspiels, z.Z. bin ich noch am entwickeln der Map-engine. Die Datei einer map möchte ich in einer eigenen .a3km datei speichern. Ich habe es mit einer normalen Datei versucht, die z.b. so aussehen sollte: gras=103:380 gras=110:380 gras=117:380 stein=124:380 Ich weiß aber nicht, wie ich dann die ganzen Daten aus der Datei auslesen soll. Kann mir da jemand helfen? Also z.b. liest das Programm die erste Zeile und weil es "gras" entdeckt weiß es gleich, aha, jetzt muss ich ein imageX createn und mit einem Grasbild versehen. Dann sieht es die Koordinaten und sagt imageX halt zu wo es sein soll, nämlich .left:=103 und .top=380. Ich weiß das man soetwas mit einer repeat schleife lösen kann, die dann jedesmal immer einen Buchstaben mehr abfragt, dies ist allerdings höllisch umständlich. danke, moritz. |
Re: Spezielle Daten aus einer Datei abfragen
na, so richtig viel scheinst du ja noch nicht zu wissen.
Schau dir mal TStringList an. Darin kannst Du solche Name-Wert-Paare wie du sie verwendest bequem verarbeiten (Stichwort Names[i] und Values[i]). |
Re: Spezielle Daten aus einer Datei abfragen
Zitat:
![]() Dann musst Du nur noch Deine Kombination Left/Top auswerten; aber auch dabei kann Delphi behilflich sein (auf die Schnelle ungetestet):
Delphi-Quellcode:
Jürgen
procedure TForm1.ZahlenSplit(const sZeile: string; var iLeft, iTop: integer);
var sListe: TStringList; begin // Vorgabewerte iLeft := 0; iTop := 0; // eine temporäre Stringliste verwenden sListe := TStringList.Create; try // speichere Deine Zeile im Format 'gras=103,380' // comma-getrennte Werte können schnell umgesetzt werden!!! sListe.CommaText := sZeile; if sListe.Count >= 2 then begin // Achtung: StrToInt knallt schnell; es gibt bessere Verfahren // siehe unter 'Suchen' von DP iLeft := StrToInt(sListe[0]); iTop := StrToInt(sListe[1]); end; // korrigiert nach dem wichtigen Hinweis #4 von Daniel G finally sListe.Free; end; end; |
Re: Spezielle Daten aus einer Datei abfragen
Hi,
wäre es nicht besser, except durch finally zu ersetzen und dort sListe wieder frei zu geben? :gruebel: |
Re: Spezielle Daten aus einer Datei abfragen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 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