Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Letzter gewählte Systempfad (https://www.delphipraxis.net/190260-letzter-gewaehlte-systempfad.html)

EWeiss 17. Sep 2016 13:35

Letzter gewählte Systempfad
 
Ich hab ja meinen Media File Browser erstellt.
Das Problem das ich nun habe, das ich jedes mal im Anwendungspfad bin wenn ich eine neue Datei suchen will.
Wie kann ich also auslesen welchen Pfad ich zuletzt gelesen habe und ihn Systemweit zuweisen?

Bzw. Den Pfad einlesen der vom System gesetzt wurde?
Beim öffnen eines beliebigen Ordner über den Explorer.
Wenn möglich ohne Registry!

gruss

Bernhard Geyer 17. Sep 2016 13:38

AW: Letzter gewählte Systempfad
 
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx

Aber ich denke irgendwo in deinem Code wird der Pfad immer mit SetCurrentDirectory zurückgesetzt.
Normalerweise setzt Windows Automatisch den letzten Pfad in den Datei Öffnen Dialogen wenn man selbst nichts setzt.

jaenicke 17. Sep 2016 13:42

AW: Letzter gewählte Systempfad
 
Zitat:

Zitat von EWeiss (Beitrag 1347923)
Wie kann ich also auslesen welchen Pfad ich zuletzt gelesen habe und ihn Systemweit zuweisen?

Was genau meinst du mit systemweit? Eine andere Anwendung wie den Windows Explorer starten, so dass er diesen Pfad anzeigt, ist kein Problem. Einfach den Ordnernamen als Parameter angeben. Im eigenen OpenDialog ist das auch kein Problem.

Aber systemweit hört sich irgendwie nach etwas anderem an? Meinst du OpenDialogs anderer Anwendungen usw.? Da das anwendungsspezifisch gespeichert wird, wäre das z.B. nicht so einfach.

EWeiss 17. Sep 2016 13:49

AW: Letzter gewählte Systempfad
 
Ich weise meiner Direktory Liste den Pfad zu beim start.

Delphi-Quellcode:
DirStrPath := ExtractFilePath(ParamStr(0));


Dieser wird aber dann logischerweise immer aufgerufen sobald ich meinen selbstgemachten OpenDialog starte.
Das ist frustrierend da ich mich dann immer wieder zu den letzten Ordner durchangeln muss.

Lade ich mit dem Explorer eine Datei dann wird beim nächsten suchen einer anderen dieser Pfad wieder geöffnet.

Das möchte ich erreichen ohne Umwege über die Registry.
Gibt es eine Funktion mit der man das erfragen kann welcher Ordner zuletzt geöffnet wurde?

Zitat:

Aber systemweit hört sich irgendwie nach etwas anderem an? Meinst du OpenDialogs anderer Anwendungen usw.? Da das anwendungsspezifisch gespeichert wird, wäre das z.B. nicht so einfach.
Nein nicht von anderen Anwendungen.
Ich möchte nur nicht immer wieder von meinem Anwendungspfad aus starten.
Werde es mal mit GetCurrentDirectory versuchen ( Hätte ich eigentlich auch selbst drauf kommen müssen) ;)

EDIT:
Ok geht jetzt :)
Wie von Bernhard vermutet habe ich die Direktory beim öffnen eines anderen Windows zurückgesetzt und die aktuelle nicht erfragt.
Systemweit kann ich wohl vergessen. Muss aber auch nicht unbedingt.

gruss


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