Tatsächlichen Dateipfad berechnen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Tatsächlichen Dateipfad berechnen

Beitrag von TomS »

Little John hat geschrieben:Und warum so umständlich?
Weil's so Cross-Platform-fähig ist?
Little John

Re: Tatsächlichen Dateipfad berechnen

Beitrag von Little John »

TomS hat geschrieben:Weil's so Cross-Platform-fähig ist?
Stimmt. :-)

Gruß, Little John
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Tatsächlichen Dateipfad berechnen

Beitrag von WPö »

Nee, Leute, jetzt haut Euch mal nicht die Schädel ein.
Das Thema ist (was mich angeht) vom Tisch, weil nur Larifari-Anwendung und nur auf Windoof benötigt.
Stargate: Was Du nur so auf die Schnelle "hingeschmiert" hast, war doch sehr schön.

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: Tatsächlichen Dateipfad berechnen

Beitrag von AND51 »

Little John hat geschrieben:
AND51 hat geschrieben:Falls möglich, das Arbeitsverzeichnis kurz auf den Pfad setzen und wieder zurücksetzen
Und warum so umständlich?
Es würden auch 2 Aufrufe reichen, da hast du Recht. Aber dadurch würde das bestehende Arbeitsverzeichnis unwiederruflich verändert werden. Fall das egal ist, weil sowieso keine relativen Dateizugriffe erfolgen, dann kann man das auch so machen. Meine Lösung ist jedoch sicherer, falls in dem Code doch noch Dateizugriffe mit relativen Pfad auftauchen. Und anders geht es nicht, man muss den aktuellen Pfad nun mal in einer Variablen zwischenspeichern.
WPö hat geschrieben:Das Thema ist (was mich angeht) vom Tisch, weil nur Larifari-Anwendung und nur auf Windoof benötigt.
Stargate: Was Du nur so auf die Schnelle "hingeschmiert" hast, war doch sehr schön.
Aber leider ist Stargate's Lösung unvollständig.
Probier seinen Code mal mit dem Pfad aus, den ich in meinem Beispielcode habe. Es würde "C:\Windows\system32\Windows\" statt "C:\Windows\" herauskommen, weil er einfach nur doppelte Punkte und doppelte Backslashes herausfiltert. Meine Lösung bedient sich des Setzens und Auslesens des Arbeitsverzeichnisses. Übergibt man Windows einen 'verkorksten' Pfad wie in meinem Beispiel erledigt Windows automatisch das Ermitteln des korrekten Pfades.

Pfade wie in meinem Beispiel, wo in ein Verzeichnis hereingewechselt und mit ".." wieder rausgewechselt wird und dann wieder in ein anderes Verzeichnis gewechselt wird, können von seiner Prozedur nicht korrekt verarbeitet werden.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Tatsächlichen Dateipfad berechnen

Beitrag von ts-soft »

@AND51
wenigstens ich hab die Richtigkeit Deiner Lösung erkannt :allright:
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Tatsächlichen Dateipfad berechnen

Beitrag von HeX0R »

WPo hat geschrieben:Das Thema ist (was mich angeht) vom Tisch, weil nur Larifari-Anwendung und nur auf Windoof benötigt.
Dieses komische "Windoof", das ~99,5% der User hier benutzen muss ja wirklich ziemlicher Mist sein :roll: .
Little John

Re: Tatsächlichen Dateipfad berechnen

Beitrag von Little John »

AND51 hat geschrieben:
Little John hat geschrieben:
AND51 hat geschrieben:Falls möglich, das Arbeitsverzeichnis kurz auf den Pfad setzen und wieder zurücksetzen
Und warum so umständlich?
Es würden auch 2 Aufrufe reichen, da hast du Recht.
Etwas derartiges habe ich überhaupt nicht geschrieben, und die Sache ist ohnehin schon längst geklärt.
Antworten