![]() |
Aktuelles Verzeichnis
Hi,
wie erhalte ich das aktuelle Verzeichnis? Also allgemein das Verzeichnis, nicht speziell auf eine Anwendung bezogen wie GetCurrentDir. Bei mir ist das aktuelle Verzeichnis (wenn ich bei Start->Ausführen "" eingebe) identisch mit %HomePath%, also: C:\Dokumente und Einstellungen\Martin Kluge Ist das immer so ? Wie kann ich generell das aktuelle Verzeichnis mit Delphi auslesen ? |
Re: Aktuelles Verzeichnis
GetCurrentDir liefert das aktuelle Verzeichnis.
|
Re: Aktuelles Verzeichnis
:shock: GetCurrenDir liefert mir das Verzeichnis, in dem meine Anwendung gestartet wurde.
z.B. Wenn ich die Eingabeaufforderung starte, ist das Verzeichnis auch immer C:\Dokumente und Einstellungen\Martin Kluge. Oder über Start->Ausführen :gruebel: |
Re: Aktuelles Verzeichnis
Moin Martin,
Zitat:
[EDIT] Oder starte das Programm über einen Link oder ShellExecuteEx, wobei Du das Arbeitsverzeichnis angibst. Natürlich darf das Arbeitsverzeichnis nicht das des Programmes sein ;-) [/EDIT] |
Re: Aktuelles Verzeichnis
GetCurrentDir öffnet denke ich mal das Arbeitsverzeichnis.
|
Re: Aktuelles Verzeichnis
Das ist mir schon klar.
Zitat:
Meinetwegen heißt das Arbeitsverzeichnis. Vielleicht muss ich die Frage anders formulieren: Warum verwendet Start ->Ausführen als Arbeitsverzeichnis %HomePath% ? Ist das immer so? |
Re: Aktuelles Verzeichnis
Mit GetCurrentDir bekommst Du den Inhalt einer globalen (Windows-)Variable, welches das aktuell eingestellte Verzeichnis enthält. Du kannst dieses mit SetCurrentDir verändern. Alle Programme, die nur mit GetCurrentDir z.B. ihr Datenverzeichnis abfragen kannst Du hiermit zum Abschmieren bringen.
Wenn Du also wichtige Datenpfade ermittelst, nehme niemals GetCurrentDir dazu (Erfahrungswerte, lange Debugsitzungen :kotz: ). Wenn Du den Pfad Deiner Anwendung ermitteln willst, unabhängig davon, wie oder wo sie gestartet wurde, benutze "ExtractFilePath(ParamStr(0))". Da steht alles drin. |
Re: Aktuelles Verzeichnis
Zitat:
IMHO hat jede laufende Anwendung sein eigenes CurrentDir und es gibt kein globales. Bzw. ich dachte es gäbe ein globales, (z.B. bei Start->Ausführen = %HomePath%) aber anscheinend ist das nicht so. Auf jeden Fall bekommt man das globale Arbeitsverzeichnis - falls es ein solches geben sollte - nicht mit GetCurrentDir. Getestet: Einfach zwei Delphi-Programme starten, in einem wird per ButtonClick GetCurrentDir ausgelesen und in dem anderen mit SetCurrentDir z.B. das Arbeitsverzeichnis auf C:\ festgelegt. Lege ich das Arbeitsverzeichnis fest, hat sich aber GetCurrentDir im anderen Programm nicht geändert! |
Re: Aktuelles Verzeichnis
Einfach im PSDK nachgucken:
Zitat:
|
Re: Aktuelles Verzeichnis
Eben:
Zitat:
(anscheinend nicht...) //Edit: Aber trotzdem danke an alle, für eure Bemühungen :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 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