Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dir herausfinden (https://www.delphipraxis.net/112446-dir-herausfinden.html)

SemmelRoth 21. Apr 2008 15:35


Dir herausfinden
 
Hey ich hab gesucht und nichts gefunden ich will einfach nur die Dir also den path zu meiner Exe rausfinden... also ne funktion die dann nen String zurück gibt der dann sowas beinhaltet 'D:/Ordner/Mein Spiel/' also es soll nich der name der exe angehangen sein

Ich hoffe/denke das ihr mir schnell helfen könnt, danke schonmal

Klaus01 21. Apr 2008 15:37

Re: Dir herausfinden
 
Delphi-Quellcode:
Edit1.text:=ExtractFilePath(ParamStr(0));

alleinherrscher 21. Apr 2008 15:44

Re: Dir herausfinden
 
oder auch:

Delphi-Quellcode:
extractfilepath(application.exename);

Tharon 21. Apr 2008 15:51

Re: Dir herausfinden
 
Hi,

eine andere (mir sympathischere) Möglichkeit ist die Eigenschaft ExeName des Application-Objektes. Diese Eigenschaft enthält den kompletten Pfad (also mit Dateinamen) der Applikation. Mit den Funktionen ExtractFileName() und ExtractFilePath() kannst Du den Dateinamen bzw. das Verzeichnis aus einem kompletten Pfad extrahieren.

Delphi-Quellcode:
sFileName := ExtractFileName(Application.ExeName);
sFileDir := ExtractFilePath(Application.ExeName);
Allerdings glaube ich nicht, dass Du wirklich gesucht hast... denn das hättest Du eigentlich sicher finden müssen ;-)

SemmelRoth 21. Apr 2008 15:55

Re: Dir herausfinden
 
oh man ihr seit ja super^^ ging schneller als ich dachte

s-off 21. Apr 2008 16:01

Re: Dir herausfinden
 
Nichtsdestotrotz solltest Du Dir angewöhnen, ParamStr(0) zu verwenden.
Falls Du irgendwann einmal eine Anwendung ohne die VCL schreiben möchtest, stehst Du doof da, da 'Application' in 'Forms' gekapselt ist.

sirius 21. Apr 2008 16:20

Re: Dir herausfinden
 
Zitat:

Zitat von s-off
Falls Du irgendwann einmal eine Anwendung ohne die VCL schreiben möchtest, stehst Du doof da, da 'Application' in 'Forms' gekapselt ist.

Wenn er soweit ist, dann verwendet er ohne Wimpernzucken GetModuleFileName :zwinker:

mkinzler 21. Apr 2008 16:23

Re: Dir herausfinden
 
Da aber Application.ExeName auf ParamStr zurückgreift, kann man gleich direkt darauf zugreifen

s-off 21. Apr 2008 16:28

Re: Dir herausfinden
 
Zitat:

Zitat von sirius
Zitat:

Zitat von s-off
Falls Du irgendwann einmal eine Anwendung ohne die VCL schreiben möchtest, stehst Du doof da, da 'Application' in 'Forms' gekapselt ist.

Wenn er soweit ist, dann verwendet er ohne Wimpernzucken GetModuleFileName :zwinker:

Ähm, öhm - *Ausflüchte such*
Und wenn er Windows 98 unterstützen will? :mrgreen:

DeddyH 21. Apr 2008 16:46

Re: Dir herausfinden
 
Zitat:

Zitat von mkinzler
Da aber Application.ExeName auf ParamStr zurückgreift, kann man gleich direkt darauf zugreifen

Das seh ich genauso, der einzige Nachteil von ParamStr(0) ist, dass man evtl. eine Klammer vergisst :D

Luckie 21. Apr 2008 18:20

Re: Dir herausfinden
 
Waurm in die Ferne schweife. Das fängt doch schon bei einem Konsolenprogramm an.

ToFaceTeKilla 22. Apr 2008 07:38

Re: Dir herausfinden
 
Zitat aus der D6 - Hilfe zu GetModuleFileName:
Zitat:

Diese Funktion ist nicht unter Windows verfügbar.
Blöde Frage, aber läuft Delphi denn auch unter Unix? oO
Und falls nich, was macht man dann mit der Funktion?
Aber anhand s-off´s Ausflucht, schließe ich mal dass sich das nur auf Win98 bezieht oder?

sirius 22. Apr 2008 07:58

Re: Dir herausfinden
 
Zitat:

Zitat von ToFaceTeKilla
Zitat aus der D6 - Hilfe zu GetModuleFileName:
Zitat:

Diese Funktion ist nicht unter Windows verfügbar.
Blöde Frage, aber läuft Delphi denn auch unter Unix? oO
Und falls nich, was macht man dann mit der Funktion?
Aber anhand s-off´s Ausflucht, schließe ich mal dass sich das nur auf Win98 bezieht oder?

Es gibt zwei Varianten von GetModuleFileName. Die eine ist für Linux (Kylix) und ist in der Unit System implementiert. die andere ist für Windows (Unit Windows) und ist einfach nur die API aus dem Win SDK.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz