dateifpad von datei aus ermitteln
dateifpad von datei aus ermitteln
Hi zusammen,
ich möchte gern den Pfad einer Datei ermitteln den ich nicht kenne bzw. kenn ich nur das Verzeichnis wo die Datei liegt
bekannt ist \meinProgramm\start.exe
wie bekomme ich den rest raus damit ich einen absoluten Pfad bekomme?
hoffe ihr könnte mir auf die sprünge helfen.
mfg
ich möchte gern den Pfad einer Datei ermitteln den ich nicht kenne bzw. kenn ich nur das Verzeichnis wo die Datei liegt
bekannt ist \meinProgramm\start.exe
wie bekomme ich den rest raus damit ich einen absoluten Pfad bekomme?
hoffe ihr könnte mir auf die sprünge helfen.
mfg
Was ich nicht kenne das mach ich kaputt! 
----------------------------------------------------
Purebasic v4.0

----------------------------------------------------
Purebasic v4.0
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
In welcher Situation kriegst du denn nur den "halben" Pfad?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Ich weiss in welchen Ordner mein Programm liegt nur weiss ich nicht den kompletten absoluten Pfad weil ich noch eine exe aufrufen muss und runProgram() will ja immer nen absoluten Pfad haben.
Was ich nicht kenne das mach ich kaputt! 
----------------------------------------------------
Purebasic v4.0

----------------------------------------------------
Purebasic v4.0
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Woher? Und dann kennst du nicht den ganzen Pfad? Kannst du die .EXE während Laufzeit laden? Dann wäre es einfach.Ich weiss in welchen Ordner mein Programm
Zuletzt geändert von Fluid Byte am 15.05.2007 22:29, insgesamt 1-mal geändert.
Windows 10 Pro, 64-Bit / Outtakes | Derek
- 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
Wenn der Pfad relativ zu Deiner Exe ist so:
Code: Alles auswählen
Procedure.s GetExePath()
Protected Result.s
If LCase(GetPathPart(ProgramFilename())) = LCase(#PB_Compiler_Home + "Compilers\")
Result = GetCurrentDirectory()
Else
Result = GetPathPart(ProgramFilename())
EndIf
If Right(Result, 1) <> "\" : Result + "\" : EndIf
ProcedureReturn Result
EndProcedure
RunProgram(GetExePath() + "meinProgramm\start.exe")
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.

Erstmal danke ts-soft für den Code, leider scheint er bei mir nicht zu funktionieren.
Hier mal mein kompletter Code.
Hier mal mein kompletter Code.
Code: Alles auswählen
Procedure.s GetExePath()
Protected Result.s
If LCase(GetPathPart(ProgramFilename())) = LCase(#PB_Compiler_Home + "Compilers\")
Result = GetCurrentDirectory()
Else
Result = GetPathPart(ProgramFilename())
EndIf
If Right(Result, 1) <> "\" : Result + "\" : EndIf
ProcedureReturn Result
EndProcedure
Open_SolaniaUpdater()
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_Event_Gadget
If GadgetID = #ProgressBar_0
ElseIf GadgetID = #B_launch
;RunProgram("c:\Solania\Solania_005\Solania.exe")
RunProgram(GetExePath() + "Solania_005\Solania.exe")
quit = 1
ElseIf GadgetID = #B_quit
quit = 1
ElseIf GadgetID = #Web_0
EndIf
EndIf
Until Event = #PB_Event_CloseWindow Or quit = 1 ; End of the event loop
End
;
Was ich nicht kenne das mach ich kaputt! 
----------------------------------------------------
Purebasic v4.0

----------------------------------------------------
Purebasic v4.0