Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pfad wo die exe liegt aus lesen (https://www.delphipraxis.net/24543-pfad-wo-die-exe-liegt-aus-lesen.html)

Christian18 22. Jun 2004 18:35


Pfad wo die exe liegt aus lesen
 
hallo,

ich würde gerne den Pfad wo die *.exe liegt auslesen und zwar nicht den ganzen pfad sondern nur das verzeichnis

bsp.:

die application liegt local auf c:\

c:\test.exe

und wenn ich

Application.ExeName;

mache, dann wird bei mir ausgegeben:

c:\test.exe

aber ich möchte ausgegeben haben

c:\

Wie mache ich das???

S2B 22. Jun 2004 18:37

Re: Pfad wo die exe liegt aus lesen
 
ExtractFilePath('Pfadname');

phlux 22. Jun 2004 18:37

Re: Pfad wo die exe liegt aus lesen
 
So ;)

Delphi-Quellcode:
var
  s: String;

begin
  s := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName));
end;

Alternativ auch ohne IncludeTrailingPathDelimiter() dann musst du aber selbst gucken ob bereits ein \ ans ende gestellt wurde oder nicht ;)

mfg phlux :hi:

Matze 22. Jun 2004 18:38

Re: Pfad wo die exe liegt aus lesen
 
Oder
Delphi-Quellcode:
Extractfilepath(ParamStr(0));

Christian18 22. Jun 2004 18:50

Re: Pfad wo die exe liegt aus lesen
 
hallo,

diese eigenschaft oder diesen befehl gibt es bei mir nicht, ich habe Delhpi6 Professional, kann es daran liegen.

ich wollte das tun:

Label1.Caption:='Ziel: ' Application.ExeName;

bloß die exe soll weg

alcaeus 22. Jun 2004 18:51

Re: Pfad wo die exe liegt aus lesen
 
Zitat:

Zitat von phlux
Alternativ auch ohne IncludeTrailingPathDelimiter() dann musst du aber selbst gucken ob bereits ein \ ans ende gestellt wurde oder nicht ;)

ExtractFilePath enthält das \ am Ende.

Greetz
alcaeus

r_kerber 22. Jun 2004 19:01

Re: Pfad wo die exe liegt aus lesen
 
Zitat:

Zitat von Christian18
diese eigenschaft oder diesen befehl gibt es bei mir nicht, ich habe Delhpi6 Professional, kann es daran liegen.

Kann ich mir nicht vorstellen. Suche noch mal genau!

MathiasSimmack 22. Jun 2004 19:11

Re: Pfad wo die exe liegt aus lesen
 
Zitat:

Zitat von Christian18
diese eigenschaft oder diesen befehl gibt es bei mir nicht, ich habe Delhpi6 Professional, kann es daran liegen.

Eher im Gegenteil: Meist besitzen die Pro-Versionen einen größeren Befehls- bzw. anderweitigen Umfang als kleinere. Da es die Funktion aber auch in meinem D5 Pro gibt, ist sie in D6 definitiv enthalten.

Zitat:

ich wollte das tun:

Label1.Caption:='Ziel: ' Application.ExeName;

bloß die exe soll weg
Wie gesagt:
Delphi-Quellcode:
Label1.Caption := 'Ziel: ' + ExtractFilePath(Application.ExeName);
Evtl. die Units beachten. Unter D5 muss die Unit "SysUtils" eingebunden sein. Es wäre denkbar, dass sich dies (wie so vieles) ab D6 geändert hat. Aber normalerweise gibt die Hilfe darüber Auskunft und zeigt dir an, in welcher Unit sich der Befehl befindet.

heiopei 22. Jun 2004 19:13

Re: Pfad wo die exe liegt aus lesen
 
abend,
also so dürfte es gehen, is aber umständlich(des mit dem paramstr... muss gehen, da es bei mir mit delphi 6 personal auch geht!)

var
temp: string;
...
temp := extractfilepath(application.exename);
delete(temp, length(temp) - 1, length(temp));
labelx.caption := temp;
...

tschüss,
heiopei

[Edit] wahr wohl jemand schnell als ich (zumindest mit der ersten behauptung) [/Edit]

MathiasSimmack 22. Jun 2004 19:17

Re: Pfad wo die exe liegt aus lesen
 
Neben "ExtractFilePath" gibt es auch noch "ExtractFileDir", bei dem IMHO der Backslash weggelassen wird. So gesehen ist deine Lösung, @heiopei, ebenfalls umständlich. ;)

S2B 22. Jun 2004 20:19

Re: Pfad wo die exe liegt aus lesen
 
Zitat:

Zitat von Christian18
Label1.Caption:='Ziel: ' Application.ExeName;

Ich glaube, dass einfach nur das "+" fehlt! Mehrere Strings werden mit "+" zu einem String zusammengefügt! :wink:
Delphi-Quellcode:
Label1.Caption:='Ziel: ' + ExtractFilePath(Application.ExeName);
Das muss gehen! :zwinker:

Nicodius 22. Jun 2004 20:29

Re: Pfad wo die exe liegt aus lesen
 
Delphi-Quellcode:
Extractfilepath(ParamStr(0));

S2B 22. Jun 2004 20:32

Re: Pfad wo die exe liegt aus lesen
 
Zitat:

Zitat von Matze
Delphi-Quellcode:
Extractfilepath(ParamStr(0));

Zitat:

Zitat von Nicodius
Delphi-Quellcode:
Extractfilepath(ParamStr(0));

:roll:

Muetze1 22. Jun 2004 22:18

Re: Pfad wo die exe liegt aus lesen
 
Moin!

Zitat:

Zitat von MathiasSimmack
Neben "ExtractFilePath" gibt es auch noch "ExtractFileDir", bei dem IMHO der Backslash weggelassen wird. So gesehen ist deine Lösung, @heiopei, ebenfalls umständlich. ;)

Bei alten Delphi Versionen (5 z.B.) gibt es die ExtractFileDir() noch nicht und dort passiert es bei Rootpfaden, das er das Backslash am Ende weglässt.

MfG
Muetze1

Christian Seehase 22. Jun 2004 22:38

Re: Pfad wo die exe liegt aus lesen
 
Moin Muetze,

D5 kennt ExtractFileDir, und hierbei soll ja gerade der Backslash am Ende weggelassen werden.
Bei ExtractFilePath hingegen ist er immer vorhanden, so denn einer im Parameter enthalten ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 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