Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Pfad von exe während der laufzeit auslesen?


jackle32 - Mi 14.11.07 23:13
Titel: Pfad von exe während der laufzeit auslesen?
Hallo,

ich habe habe das Problem, das ich den Pfad wo die exe ausgeführt wird während der Laufzeit auslesen möchte. Leider hab ich keine Ahnung ob das irgendwie geht.

Gruß Jack


mkinzler - Mi 14.11.07 23:16

Application.Exename bzw. ParamStr(0)


Marc. - Mi 14.11.07 23:18


Delphi-Quelltext
1:
extractfilepath( paramstr(0) )                    

Paramstr(0) gibt dir den Pfad deiner Exe zurück, Extractfilepath schneidet den Namen deiner Datei ab.

edit: Einen winzigen Tick zu langsam gewesen.

grüße,
Marc


jackle32 - Mi 14.11.07 23:56

Okay danke,

einfach aber effektiv!

Gruß Jack


Atreyu - Do 15.11.07 01:13

geht das nicht auch mit
ProgrammOrdner:=ExtractFilePath(Application.ExeName);
?

Also, wenn du deine eigene exe willst.

edit: Sorry, habs überlesen^^


Popov - Do 15.11.07 01:53

Noch ein Hinweis:

ExtractFilePath gibt den Pfad IMMER mit einem abschließendem Backslash, also z.B. c:\windows\

Darauf kann man sich verlassen. Dagegen

ExtractFileDir gibt dir den Pfad IMMER ohne einen abschließendem Backslash, also z.B. c:\windows


Zyklame - Do 15.11.07 10:17

user profile iconPopov hat folgendes geschrieben:

ExtractFileDir gibt dir den Pfad IMMER ohne einen abschließendem Backslash, also z.B. c:\windows


Nein es gibt eine Außname:

Bei Laufwerken gibt die Funktion wieder
C:\
aus (das kann sehr ärgerlich sein wenn man es nicht weiß)


Popov - Do 15.11.07 11:44

Ja, aber C:\ ist eigentlich schon die die Laufwerksbezeichnung. Erst ab hier fangen die Ordner an.

Aber es ist eher ExtractFilePath wichtig, da man in der Regel den Backslash braucht. Man muß sich dann nicht noch mit einer Zeile um die Sicherheit kümmern, sondern kann sich drauf verlassen. Ich hatte in der Zeit in der ich programmiere noch nie eine Fehlermeldung, wegen nicht gefundenen Datei, weil zwischen Pfad und Datei ein Backslash fehlte.