Letzt angeklickten Ordner im OpenDialog immer merken
-
Hi,
ist es ohne eine globale String-Hilfsvariable möglich, dass nicht immer beim Öffnen des OpenDialog ein Standardodner angezeigt wird sondern immer der, von dem zuletzt eine Datei geöffnet wurde?
-
siehe TOpenDialog::InitialDir
Verzeichniss merken z.B. in nem IniFile.
-
also doch Hilfsvariable/datei
-
Kannst's ja auch in der Registry speichern.
-
Die Datei brauchst du doch nur, wenn du die Einstelleung zwischen zwei Programmstarts speichern willst.
Und InitialDir ist Teil der TOpenDialog-Klasse, das ist nicht mehr oder weniger eine "Hilfsvariable" als zB. TOpenDialog::FileName.
Allerdings würde ich InitialDir nicht benutzen, der OpenDialog sollte sich das zuletzt gewählte Verzeichnis eigentlich automatisch merken. Voraussetzung ist aber, dass beim letzten Aufruf auch tatsächlich eine Datei ausgewählt und der Dialog nicht abgebrochen wurde. Denn nur so wird das working directory deines Programmes entsprechend angepasst.
-
hi jansen: hmm, bei mir ist InitialDir nicht gesetzt und auch wähle ich von verschiedenen Orten wirkliche Dateien aus und öffne sie... trotzdem ist er komischerweise! immer als Standard bei C:\Eigene Dateien
-
Erstellst Du von TOpenDialog immer zur Laufzeit eine Instanz oder hast Du das TOpenDialog Objekt direkt auf die Form gezogen ?
-
auf dem form
-
Tscha, funktioniert hier hervorglänzend.
Welche BCB-/Windows-Version benutzt du denn? Hast du das ganze auch mal in einem Minimal-Projekt getestet (OpenDialog, Button, Memo)?
-
Hab mich schon gewundert. Also, bei mir (BCB3) sucht der sich auch immer den letzten Ordner, in dem etwas ausgewählt wurde.
-
irgendwas muss ich falsch machen. könnt ihr mir bitte genau sagen, was ich jetzt (a) im Objektinspektor und (b) im Code einstellen muss, damit diese Automatik wie beu euch gegeben ist. Danke schonmal!
-
Nö. Zeig erstmal Code, wie du den Dialog anzeigst.