Dateipfad anpassen und manipulieren.Wie macht man das?
Übersicht

![]() |
SkabusBetreff: Dateipfad anpassen und manipulieren.Wie macht man das? |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Versuch einfach mit Replace das CurrentDir aus dem String zu löschen. | ||
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
$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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hat da echt keiner mehr ne Idee? ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. ![]() 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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
tipps doch einfach ein dann weist dus... also muss man dir alles vorkauen?? | ||
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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+ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group