Aktueller exe Pfad
Aktueller exe Pfad
Hallo,
wie erhalte ich im PB den aktuellen exe-Pfad meiner Anwendung, sprich wo ich Sie gestartet habe?
Will mein Programm in verschiedene Verzeichnisse speichern und bei Aufruf nur jeweilige(SQL-Datei) DatenDatei verwenden.
Gruss und ein frohes Fest ... Velindos
PS: Du fährst mit dem Auto und hältst eine konstante Geschwindigkeit. Auf deiner linken Seite befindet sich ein Abhang. Auf deiner rechten Seite fährt ein riesiges Feuerwehrauto und hält die gleiche Geschwindigkeit wie du. Vor dir galoppiert ein Schwein, das eindeutig grösser ist als dein Auto und du kannst nicht vorbei. Hinter dir verfolgt dich ein Hubschrauber auf Bodenhöhe. Das Schwein und der Hubschrauber haben exakt deine Geschwindigkeit!
Was unternimmst du, um dieser Situation gefahrlos zu entkommen???
Vom Kinderkarussell absteigen und weniger Glühwein saufen!!!!
wie erhalte ich im PB den aktuellen exe-Pfad meiner Anwendung, sprich wo ich Sie gestartet habe?
Will mein Programm in verschiedene Verzeichnisse speichern und bei Aufruf nur jeweilige(SQL-Datei) DatenDatei verwenden.
Gruss und ein frohes Fest ... Velindos
PS: Du fährst mit dem Auto und hältst eine konstante Geschwindigkeit. Auf deiner linken Seite befindet sich ein Abhang. Auf deiner rechten Seite fährt ein riesiges Feuerwehrauto und hält die gleiche Geschwindigkeit wie du. Vor dir galoppiert ein Schwein, das eindeutig grösser ist als dein Auto und du kannst nicht vorbei. Hinter dir verfolgt dich ein Hubschrauber auf Bodenhöhe. Das Schwein und der Hubschrauber haben exakt deine Geschwindigkeit!
Was unternimmst du, um dieser Situation gefahrlos zu entkommen???
Vom Kinderkarussell absteigen und weniger Glühwein saufen!!!!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: Aktueller exe Pfad
Hallo Velindos
Versuche es mal mit ProgramFilename()
Frohe Weihnacht
Walter
Versuche es mal mit ProgramFilename()
Frohe Weihnacht
Walter
Lesen bei schlechten Lichtverhältnissen ist nicht schlecht für die Augen, sondern trainiert sie sogar.
Linux Ubuntu Mate 18.04
PB 5.71
Intel i5
Linux Ubuntu Mate 18.04
PB 5.71
Intel i5
- 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: Aktueller exe Pfad
oder besser mit: GetPathPart(ProgramFilename())
ACHTUNG: Damit der Pfad auch in der IDE stimmt (weil normalerweise compiliert die IDE im Tempordner),
in den Einstellungen:
Compiler / Standards / Temporäres Executable im Quellcode-Verzeichnis erstellen abhaken.
Frohes Fest
Thomas
ACHTUNG: Damit der Pfad auch in der IDE stimmt (weil normalerweise compiliert die IDE im Tempordner),
in den Einstellungen:
Compiler / Standards / Temporäres Executable im Quellcode-Verzeichnis erstellen abhaken.
Frohes Fest
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Aktueller exe Pfad
Hallo,
hier die ganze Geschichte zum Nachlesen!
Findet, schneidet und fügt ein!
Gruss ... Velindos
hier die ganze Geschichte zum Nachlesen!
Code: Alles auswählen
Procedure DatenbasefileSet()
Aktuell_Pfad$=ProgramFilename()
PathRemoveFileSpec_(@Aktuell_Pfad$)
DatabaseFile$= Aktuell_Pfad$+"\"+"Zieldatei.xxx" ; Hier die Zieldatei
MessageRequester("","Pfad: "+DatabaseFile$,0)
EndProcedure
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
- 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: Aktueller exe Pfad
@Velindos
Die verwendete API ist doch unnötig, PB kennt doch GetPathPart()
Die verwendete API ist doch unnötig, PB kennt doch GetPathPart()

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Aktueller exe Pfad
Hallo,
habe den Rat befolgt und die Sache auf das umgestellt!
Nun ganz Funzt die Sache nicht. Den beim Debugen erhält folgende Aussagen:
C:\Users\MEDION\AppData\Local\Temp\Zieldatei.xxx
C:\Users\MEDION\AppData\Local\
C:\Users\MEDION\AppData\Local\Zieldatei.xxx
Plötzlich fehlt \Temp?
Gruss ... Velindos
habe den Rat befolgt und die Sache auf das umgestellt!
Code: Alles auswählen
Aktuell_Pfad$=ProgramFilename()
PathRemoveFileSpec_(@Aktuell_Pfad$)
DatabaseFile$= Aktuell_Pfad$+"\"+"Zieldatei.xxx" ; Hier die Zieldatei
MessageRequester("","Pfad: "+DatabaseFile$,0)
Debug DatabaseFile$
DatabaseFile1$=GetPathPart(Aktuell_Pfad$)
DatabaseFile2$=DatabaseFile1$+"Zieldatei.xxx"; Hier die Zieldatei
MessageRequester("","Pfad: "+DatabaseFile2$,0)
Debug DatabaseFile1$
Debug DatabaseFile2$
C:\Users\MEDION\AppData\Local\Temp\Zieldatei.xxx
C:\Users\MEDION\AppData\Local\
C:\Users\MEDION\AppData\Local\Zieldatei.xxx
Plötzlich fehlt \Temp?
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: Aktueller exe Pfad
Weil du mit der API PathRemoveFileSpec_(@Aktuell_Pfad$) den Aktuellen Pfad im Speicher änderst!
Damit fehlt für das untere Zeug, das temp schon:
Damit fehlt für das untere Zeug, das temp schon:
Code: Alles auswählen
Aktuell_Pfad$=ProgramFilename()
PathRemoveFileSpec_(@Aktuell_Pfad$)
DatabaseFile$= Aktuell_Pfad$+"\"+"Zieldatei.xxx" ; Hier die Zieldatei
MessageRequester("","Pfad: "+DatabaseFile$,0)
Debug DatabaseFile$
Aktuell_Pfad$=ProgramFilename()
DatabaseFile1$=GetPathPart(Aktuell_Pfad$)
DatabaseFile2$=DatabaseFile1$+"Zieldatei.xxx"; Hier die Zieldatei
MessageRequester("","Pfad: "+DatabaseFile2$,0)
Debug DatabaseFile1$
Debug DatabaseFile2$
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Aktueller exe Pfad
Hallo,
wusste ich nicht, werde es gleich einbauen!
Danke für deine RAT!
Gruss ... Velindos
wusste ich nicht, werde es gleich einbauen!
Danke für deine RAT!
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: Aktueller exe Pfad
Es ist ein Unterschied ob du einer Funktion (Prozedur) eine Variable (String) als Wert übergibst:
Irgendwas(String$)
oder als Adresse (Referenz):
Irgendwas(@String$)
Beim ersten übergibst du eine Kopie, die dann verändert wird, uns ggf. wieder zurück gegeben wird.
Beim zweiten übergibst du die Adresse des Originals, was dann auch verändert wird.
Deswegen wird bei PathRemoveFileSpec_() auch nichts zurück geben. weil es ja direkt verändert wird.
Bei GetPathPart() bekommst du die Kopie sozusagen zurück.
Irgendwas(String$)
oder als Adresse (Referenz):
Irgendwas(@String$)
Beim ersten übergibst du eine Kopie, die dann verändert wird, uns ggf. wieder zurück gegeben wird.
Beim zweiten übergibst du die Adresse des Originals, was dann auch verändert wird.
Deswegen wird bei PathRemoveFileSpec_() auch nichts zurück geben. weil es ja direkt verändert wird.
Bei GetPathPart() bekommst du die Kopie sozusagen zurück.
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr