Entwickler-Ecke

Dateizugriff - programdir?


Robert - Di 20.08.02 09:56
Titel: programdir?
Hi! Ich hätte mal eine Frage zum Programmverzeichnis:
Ich weiß, dass es irgendwie geht, dass man in Delphi etwas ähnliches eingibt wie folgendes:path := %programmdir& + '\daten\daten.txt';
Wie geht das richtig?


Tino - Di 20.08.02 10:00

Zum Beispiel so:

Quelltext
1:
path := ExtractFilePath (ParamStr (0)) + 'daten\daten.txt';                    

oder so

Quelltext
1:
path := ExtractFilePath (Application.EXEName) + 'daten\daten.txt';                    

Gruß
TINO


Robert - Di 20.08.02 10:18
Titel: Danke
Hi! Das erste Beispiel funktioniert nicht. Dann will Delphi die folgende Datei öffnen: project1.exe\daten\daten.txt

Das zweite jedoch funzt einwandfrei!
Danke!


Tino - Di 20.08.02 10:21
Titel: Re: Danke
Robert hat folgendes geschrieben:
Das erste Beispiel funktioniert nicht. Dann will Delphi die folgende Datei öffnen: project1.exe\daten\daten.txt


Die Delphihilfe gibt aber diese Infos:
Delphihilfe hat folgendes geschrieben:
ParamStr(0) gibt den Pfad und den Dateinamen des ausgeführten Programms zurück (z.B. C:\TEST\MYPROG.EXE).


Gruß


Klabautermann - Di 20.08.02 10:49
Titel: Re: Danke
Robert hat folgendes geschrieben:
Hi! Das erste Beispiel funktioniert nicht. Dann will Delphi die folgende Datei öffnen: project1.exe\daten\daten.txt


Hast du vieleicht versehendlich ExtractFileName anstelle von ExtractFilePath angegeben?

Gruß
Klabautermann


Robert - Di 20.08.02 11:03

Nein, ich habs mit STRG + C kopiert! Nee! Aber ist eh egal, mit dem zweiten gehts einwandfrei!


Delete - Di 20.08.02 12:12

Wie man schon häufiger lesen konnte ist das zweite (Application.ExeName) nur eine Kapselung des ersten (paramstr(0)). Du benutzt also das erste, und es funktioniert. :wink:

Und spätestens bei NonVCL- oder Konsolenprogrammen ohne Form stehst du mit "Application.ExeName" im Regen und müsstest ohnehin "paramstr(0)" verwenden.