Ordnerpfad einen Ordner zurück

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Ordnerpfad einen Ordner zurück

Beitrag 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)
Bild

- formerly known as Bananenfreak -
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Ordnerpfad einen Ordner zurück

Beitrag von STARGÅTE »

..\

Mit anderen Worten landet C:\Neuer Ordner\..\ wieder in C:\
Zuletzt geändert von STARGÅTE am 06.09.2013 12:09, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Ordnerpfad einen Ordner zurück

Beitrag 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?
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Ordnerpfad einen Ordner zurück

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: Ordnerpfad einen Ordner zurück

Beitrag 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.
Bild

- formerly known as Bananenfreak -
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Ordnerpfad einen Ordner zurück

Beitrag 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()))
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: Ordnerpfad einen Ordner zurück

Beitrag von Chimorin »

Öh, ich bin von hardcoded Strings ausgegangen (Wenn das das ist, was ich meine :D).
Bild

- formerly known as Bananenfreak -
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Ordnerpfad einen Ordner zurück

Beitrag 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".
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: Ordnerpfad einen Ordner zurück

Beitrag 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?
Bild

- formerly known as Bananenfreak -
Antworten