AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Spezielle Daten aus einer Datei abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Spezielle Daten aus einer Datei abfragen

Ein Thema von sacred · begonnen am 30. Aug 2006 · letzter Beitrag vom 30. Aug 2006
Antwort Antwort
sacred

Registriert seit: 20. Jan 2006
43 Beiträge
 
#1

Spezielle Daten aus einer Datei abfragen

  Alt 30. Aug 2006, 11:29
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.
Programmieren ist wie küssen:Man kann darüber reden,man kann es beschreiben,aber man weiß erst,was es bedeutet,wenn man es getan hat...
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Spezielle Daten aus einer Datei abfragen

  Alt 30. Aug 2006, 12:07
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]).
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#3

Re: Spezielle Daten aus einer Datei abfragen

  Alt 30. Aug 2006, 12:20
Zitat von bttb930:
Schau dir mal TStringList an. Darin kannst Du solche Name-Wert-Paare wie du sie verwendest bequem verarbeiten (Stichwort Names[i] und Values[i]).
Genau, und das kann zu Delphi-Referenz durchsuchenTIniFile erweitert werden.

Dann musst Du nur noch Deine Kombination Left/Top auswerten; aber auch dabei kann Delphi behilflich sein (auf die Schnelle ungetestet):
Delphi-Quellcode:
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;
Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#4

Re: Spezielle Daten aus einer Datei abfragen

  Alt 30. Aug 2006, 12:23
Hi,

wäre es nicht besser, except durch finally zu ersetzen und dort sListe wieder frei zu geben?
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#5

Re: Spezielle Daten aus einer Datei abfragen

  Alt 30. Aug 2006, 12:35
Zitat von Daniel G:
wäre es nicht besser, except durch finally zu ersetzen und dort sListe wieder frei zu geben? :gruebel:
Selbstverständlich, so muss es sein! Ich war zu schnell und habe mich mehr auf CommaText und die Auswertung konzentriert. Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 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