Dateipfad anpassen und manipulieren.Wie macht man das?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Skabus

Betreff: Dateipfad anpassen und manipulieren.Wie macht man das?

BeitragSo, Jul 01, 2007 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo^^

Ich arbeite momentan an den letzten Schritten für meinen Mapeditor
und bin da, dank der Arbeit auf 2 verschiedenen PC´s, auf ein
Problem gestoßen wo mir der Lösungsansatz fehlt.

Ich arbeite mit WinBlitz und hole mir per Dateidialog eine Grafikdatei,
welche dann als Tileset genutzt wird.Es ist de facto nur ein String
der den Pfad der Datei enthält.Also im Grunde:

Code: [AUSKLAPPEN]

tilesetPfad = "C:/Dateien/tileset.bmp"


Das Problem ist aber, wenn ich auf anderen PC´s arbeite ist der Pfad nicht mehr aktuell.Daher hab ich mir überlegt den Pfad mittels den
".\" und "..\"-Angaben einen dauerhaft gültigen Pfad einzustellen.

Leider hab ich keine Ahnung in wie weit ich da vorgehen soll....
Ich müsste ja den Teil abschneiden der quasi auserhalb der aktuellen
Ordner sin.Als Ergebniss soll also anhand des Speicherpfades
der Karte die dazugehörige Position der Tilesetgarfik angepast werden.

Beispiel: Der Editor liegt im Ordner "C:/Dateien/Editor/". Die Karte soll
im Ordner "C:/Dateien/Editor/Maps/" abgelegt werden.Das Tileset liegt
im selben Ordner wie der Editor.Der dazugehörige Pfaf des tilesets wäre also "C:/Dateien/Editor/". Um diesen Pfad nun auf jedem PC gültig zu machen(sofern die Karte in dem Ordner "Maps" bleibt) müsste man ja eigentlich aus "C:/Dateien/Editor" irgendwie "\." oder so machen, um
anzuzeigen das die benötogte Datei im übergeordnetem Ordner liegt.


Weis jemand da einen Lösungsansatz?

Ich bedanke mich natürlich für jeder Art Hilfe^^

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

$tankY

BeitragSo, Jul 01, 2007 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuch einfach mit Replace das CurrentDir aus dem String zu löschen.

Skabus

BeitragSo, Jul 01, 2007 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
$tankY hat Folgendes geschrieben:
Versuch einfach mit Replace das CurrentDir aus dem String zu löschen.


Die Idee ist gut, danke^^

Fragt sich aber nur wie genau ich da den in Anführungszeichen "überflüssigen" Rest rausfiltern kan.
Der Pfad ist ja nicht immer gleich.Es kann ja auch ein Grafikdatei von
irgendwo anders ausgewählt werden.Es sollte eben nur möglich sein,
nach dem Auswählen der Tilesetgrafik, dass sofern man die Position der Grafik
und der Karte nicht verändert, auch jederzeit die Grafik aufgerufen werden
kann....

Wenn ich mein Hauptprogramm im Ordner "AC" habe und die Maps im Ordner "AC/source/maps/" und die Tilesetgrafiken im Ordner "AC/source/tilesets/" abgelegt wurden, nervt es ziemlich das ich dann
nen "MAV" bekomme nur weil überflüssigerweise der "C:/.../" rest vor
dem tilesetPfad steht....


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Skabus

BeitragMo, Jul 02, 2007 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat da echt keiner mehr ne Idee? Confused


MfG SKa
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Hummelpups

BeitragDi, Jul 03, 2007 1:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutz relative Pfade!

Wenn das nicht die Antwort zu deiner Frage ist formulier sie neu,
total verwirrend der Text!

Statische Pfade stinken ganz gewaltig.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Skabus

BeitragDi, Jul 03, 2007 8:50
Antworten mit Zitat
Benutzer-Profile anzeigen
IMurDOOM hat Folgendes geschrieben:
Benutz relative Pfade!

Wenn das nicht die Antwort zu deiner Frage ist formulier sie neu,
total verwirrend der Text!

Statische Pfade stinken ganz gewaltig.

IMurDOOM


Ja das ist ja mein Problem. Confused

Einfach gesagt will ich nur aus einem statischen Pfad einen relativen Pfad machen.

Ich hab den Pfad: "C:/Dateien/Spiel/bmps/test.bmp"

Und will daraus lediglich etwa den Pfad "./bmps/test.bmp" machen.

Das hat den Sinn, da ich meine Karten im Ordner
"C:/Dateien/Spiel/maps/" habe und das gespeicherte Bild nicht geladen wird wenn ichs auf anderen PC´s starte, der relative Pfad dann gültig ist.
Egal auf welchem PC...

Ich hoffe ich habs jetzt verständlicher beschrieben Very Happy

btw.: Ich habs bereits mit Replace,Mid und dergleichen versucht, er
findet das Bild dennoch nicht wenn ichs auf nen anderen PC
probiere

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

FBI-blitz

BeitragDi, Jul 03, 2007 9:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm doch SYSTEMPROPERTY$ ("APPDIR") - das gibt dir den Pfad zurück, wo sich deine Exe befindet (achtung: Wenn du den Code nur in der IDE ausführst und nicht die EXE, dann wird der BlitzBasic-Ordner zurückgegeben.

Den zurückgegebenen Pfad vergleichst du mit dem, den du kürzen willst, und schneidest dort einfach alles ab, was sich mit dem von Systemproperty zurückgegebenen String deckt Wink
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
 

Beatenvoy

BeitragDi, Jul 03, 2007 10:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Mapsordner sollte immer im Order der Exe liegen, so kannst du den Pfat z.B so schreiben:

"maps/bild.bmp"

Weiss nicht wo das Problem liegt, das ist simpler Anfängerstoff!

Skabus

BeitragDi, Jul 03, 2007 10:49
Antworten mit Zitat
Benutzer-Profile anzeigen
FBI-blitz hat Folgendes geschrieben:
Nimm doch SYSTEMPROPERTY$ ("APPDIR") - das gibt dir den Pfad zurück, wo sich deine Exe befindet (achtung: Wenn du den Code nur in der IDE ausführst und nicht die EXE, dann wird der BlitzBasic-Ordner zurückgegeben.

Den zurückgegebenen Pfad vergleichst du mit dem, den du kürzen willst, und schneidest dort einfach alles ab, was sich mit dem von Systemproperty zurückgegebenen String deckt Wink


Die Idee ist gut.Sicher aber das dieses Systemproperty$ auch im Funktionsumfang von BB enthalten ist?

Oder is das in ner externen Lib definiert?
Hab da keine Ahnung ^^"


@Beatenvoy:

Das hat nichts mit simplen Anfängerstoff zu tun.Ich weis dass was du sagst selber^^"

Es geht hier aber darum das ich mittels eines Mapeditors eine Karte erstelle und den Pfad der dazu benötigten Tilesetgrafik in das Programm einlese.
gespeichert wird die Map dann in einen beliegigen Ordner.Wenn ich nun
aber die Karte im Spiel lade stimmen die Pfade nich mehr überein, wenn ich an anderen PC´s arbeite.

Es geht hier um etwas dynamischere Pfadzuweisung.Nicht um simples aufrufen von Pfaden^^"

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
  • Zuletzt bearbeitet von Skabus am Di, Jul 03, 2007 10:52, insgesamt einmal bearbeitet

Silver_Knee

BeitragDi, Jul 03, 2007 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
tipps doch einfach ein dann weist dus... also muss man dir alles vorkauen??

Skabus

BeitragDi, Jul 03, 2007 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
FTC hat Folgendes geschrieben:
tipps doch einfach ein dann weist dus... also muss man dir alles vorkauen??


Naja ich kann gerade nicht nachschauen XD
Egal, dann schau ich anhc wenn ich zuhause bin....

Danke erstmal.Mal sehen ob ichs damit lösen kann^^"


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

FBI-blitz

BeitragDi, Jul 03, 2007 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, das ist beim normalen Blitz3D dabei
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group