Seite 1 von 1

Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 12:05
von Chimorin
Heyho,

ich würde gerne einen Ordnerpfad angeben, der einen Ordner zurückgeht und ein paar Andere dann vorwärts. Ist die möglich?
(Es geht um die x64 und x86 Version eines Programmes)

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 12:08
von STARGÅTE
..\

Mit anderen Worten landet C:\Neuer Ordner\..\ wieder in C:\

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 12:09
von NicTheQuick
Mit .. geht man zurück. Also wenn du eine Datei öffnest mit dem Dateinamen "/home/benutzer/Dokumente/../Bilder/MeinHaus.jpg", dann ist der Pfad in Wirklichkeit "/home/benutzer/Bilder/MeinHaus.jpg".

Oder was meinst du?

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 12:10
von RSBasic
Was meinst du damit genau? Möchtest du mit ExamineDirectory() ein Verzeichnis durchsuchen und deren Dateien ermitteln oder möchtest du z.B. eine Grafik laden, die sich aber in einem Ordner befindet?
Wenn ja, dann kannst du mit ".." ganz einfach zurückgehen.

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 12:14
von Chimorin
Dankeschön, ihr habt mir mit ".." schon die Antwort gegeben, die ich gesucht habe.
Google hat da gar nichts darüber erzählt Oo

EDIT: Für sonstige Suchende. Bei Add3DArchive(), LoadImage(),... muss man einfach nur vor den Pfad ein "../" machen.

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 12:59
von STARGÅTE
Bananenfreak hat geschrieben:EDIT: Für sonstige Suchende. Bei Add3DArchive(), LoadImage(),... muss man einfach nur vor den Pfad ein "../" machen
Immer unter der Voraussetzung, dass der aktuelle Absolute Pfad richtig gesetzt ist.
In den meisten Fällen ist das der Pfad der Exe oder der PB-Datei, allerdings kannst du dich darauf nicht verlassen.
Das heißt du/man sollte sicherheitshalber SetCurrentDirectory() setzen, um sicher zu gehen, dass die Pfade in LoadImage usw. stimmen:
Zb, wenn immer vom Exe-Pfad ausgegangen werden soll

Code: Alles auswählen

SetCurrentDirectory(GetPathPart(ProgramFilename()))

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 13:17
von Chimorin
Öh, ich bin von hardcoded Strings ausgegangen (Wenn das das ist, was ich meine :D).

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 14:11
von STARGÅTE
Naja aber du wirst doch sicher nicht "X:\Projekt\Bilder\Bild1.png" angeben.
Sondern sowas wie "Bilder\Bild1.png", also ein relativer Pfad.
Doch dieser funktioniert nur dann richtig, wenn vorher auch der richtige Ordner eingestellt wird, also "X:\Projekt".

Re: Ordnerpfad einen Ordner zurück

Verfasst: 06.09.2013 18:26
von Chimorin
Aso, jetzt verstehe ich, was du meinst. Dann hab ich gerade noch was dazugelernt :)
Ich dachte, dass die Rubrik "FileSystem" allein für sich selber ist und nicht andere Befehle wie LoadImage() und sowas beeinflusst. Gut, kommt bei mir eh nicht vor, von dem her egal. Wenn ich aber den Pfad für das Programm verändere, muss ich einfach nur vor das LoadImage() ein SetCurrentDirectory("") setzen, oder?