Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Wie bekommt man raus aus welchen Ordner gestartet wurde? (https://www.delphipraxis.net/168930-wie-bekommt-man-raus-aus-welchen-ordner-gestartet-wurde.html)

smart 19. Jun 2012 13:31

Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Hallo,

wie bekommt man raus, aus welchen Verzeichnis meine Anwendung gestartet wurde?

hitzi 19. Jun 2012 13:36

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
ExtractFilePath(ParamStr(0)) sollte das doch machen, oder?

knochen 19. Jun 2012 13:36

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Delphi-Quellcode:
ExtractFilePath(Application.Exename)

smart 19. Jun 2012 13:39

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
danke an Euch beiden,klappt beides.

s.h.a.r.k 19. Jun 2012 13:40

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Zitat:

Zitat von knochen (Beitrag 1171579)
Delphi-Quellcode:
ExtractFilePath(Application.Exename)

Eine kleine Info am Rande: Application.ExeName greift internt auf ParamStr(0) zu ;)

implementation 19. Jun 2012 14:25

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Hmm, man sollte eigentlich schon zwischen Arbeitsverzeichnis und Ort der Exe unterscheiden. Das ist nicht immer gleich (auf Windows zwar meistens, auf Unix aber sehr, sehr selten)
Je nachdem, was du damit anstellen willst, funktionieren die genannten Lösungen zwar wahrscheinlich zunächst, das ist dann aber vielleicht mehr oder weniger Zufall.

Brauchst du tatsächlich den Ort der Exe oder das Arbeitsverzeichnis?

himitsu 19. Jun 2012 14:36

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
"Aus welchem Verzeichnis die Anwendung gestartet wurde" bekommt man nicht raus, (auch wenn es eventuell dem anfänglichen Arbeitsverzeichnis entsprechen mag),

aber das Arbeitsverzeichnis
oder das Programmverzeichnis (da wo die eigene EXE liegt)
kann man schon auslesen.

Iwo Asnet 19. Jun 2012 15:17

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Zitat:

Zitat von himitsu (Beitrag 1171589)
"Aus welchem Verzeichnis die Anwendung gestartet wurde" bekommt man nicht raus, (auch wenn es eventuell dem anfänglichen Arbeitsverzeichnis entsprechen mag),

Aus welchem Verzeichnis wurde die Anwendung gestartet, wenn ich
a) auf dem Desktop auf eine Verknüpfung doppelklicke?
b) über den Windows-Explorer eine EXE doppelklicke?
c) Ich aus einer Anwendung heraus mit ShellExecute eine andere EXE starte?
d) Mich per Remote von einem Apple aus einwähle, der in einer VM läuft?

Fragen, die die Welt bewegen.

Und: Befinde ich mich eigentlich immer in einem Verzeichnis?

Ich glaube, der Fragesteller ist mit #2 und #3 zufrieden.

p80286 19. Jun 2012 16:47

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Ich denke mit
Delphi-Quellcode:
Getdir
sollte die Frage beantworted sein.
Dies würde dem Arbeitsverzeichnis entsprechen.

Delphi-Quellcode:
Paramstr(0)
würde bei solchen Konstrukten z.B. falsch liegen:
Code:
C:
CD \meinArbeitsVerzeichnis
c:\Programme\Eigenen\MeinProgramm.exe
Gruß
K-H

DeddyH 19. Jun 2012 16:49

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Es kommt darauf an, wie die Frage eigentlich gemeint war. Und statt GetDir würde ich persönlich GetCurrentDir verwenden.

jaenicke 19. Jun 2012 17:27

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Zitat:

Zitat von implementation (Beitrag 1171586)
Hmm, man sollte eigentlich schon zwischen Arbeitsverzeichnis und Ort der Exe unterscheiden. Das ist nicht immer gleich (auf Windows zwar meistens

Zumindest beim Start der Anwendung, aber selbst wenn es da nicht schon anders ist, so reicht schon das Öffnen eines Dateidialogs und schwupps ist das aktuelle Verzeichnis nicht mehr das der Exe. ;-)

Es ist aber wirklich die Frage welches Verzeichnis eigentlich gemeint war, das der Exe oder das aktuelle.

Furtbichler 19. Jun 2012 21:07

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Ich zitiere...:mrgreen:
Zitat:

Zitat von DeddyH (Beitrag 1171613)
Es kommt darauf an, wie die Frage eigentlich gemeint war. Und statt GetDir würde ich persönlich GetCurrentDir verwenden.

Zitat:

Zitat von p80286 (Beitrag 1171611)
Ich denke mit
Delphi-Quellcode:
Getdir
sollte die Frage beantworted sein.

Zitat:

Zitat von jaenicke (Beitrag 1171618)
Es ist aber wirklich die Frage welches Verzeichnis eigentlich gemeint war, das der Exe oder das aktuelle.

Wobei, wozu noch fragen?
Zitat:

Zitat von hitzi (Beitrag 1171578)
ExtractFilePath(ParamStr(0)) sollte das doch machen, oder?

Zitat:

Zitat von knochen (Beitrag 1171579)
Delphi-Quellcode:
ExtractFilePath(Application.Exename)

Zitat:

Zitat von smart (Beitrag 1171580)
danke an Euch beiden,klappt beides.

Für mich riecht das nach:
Er meint das Verzeichnis der Anwendung.

jaenicke 20. Jun 2012 07:20

AW: Wie bekommt man raus aus welchen Ordner gestartet wurde?
 
Der Titel hörte sich aber ganz anders an. :wink:
Und das haben schon sooo viele verwechselt, das kann ich gar nicht mehr zählen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr.

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