![]() |
Neues Verzeichnis mit TFileOpenDialog anlegen
Ich möchte einen FileOpenDialog mit [fdoPickFolders] öffnen, in dem der Anwender auch einen neuen Pfad eintippen kann.
Diesen würde ich dann nach OK erzeugen. Allerdings habe ich alle möglichen Optionen ausprobiert und der Dialog bemeckert immer, dass der Pfad nicht vorhanden ist und Execute wird nicht ausgeführt. Meine Erwartung war, dass bei fdoPathMustExist=False gar keine Reklamation kommt und bei fdpCreateprompt=true der neue Ordner schon durch den Dialog angelegt wird. Beides ist nicht der Fall. Hat jemand einen Tipp? Carsten |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Zitat:
Den erstellt man vorher, im Dialog, und lässt sich das neue Verzeichnis zurückgeben. Rate mal, warum es dort im Dialog den Knopf "Neuer Ordner" gibt. Es kann gut sein, dass diese Optionen auch nur beim Speicher-Dialog eine Wirkung haben. (da, wo sie IMHO eine sinnvolle Funktionalität hätten) Nichtexistierende Dateien zu öffnen, ist doch irgendwie bissl wiedersinnig? Aber Dateien nicht zu überschreiben oder nur als "neue Datei" zu speichern, ergibt irgendwie bissl Sinn. Mal mit NoValidate probieren? [EDIT] Mal den Hersteller gefragt: Zitat:
dagegen aber Zitat:
|
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Ich würde gerne einen sinnvollen Pfad vorschlagen, den der Nutzer dann nur mit OK quittieren muss.
Carsten |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Hast du dir schon mal Vcl.Dialogs.InputBox angeschaut?
|
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Es entfällt dann aber die Option, dass man gleich einen Blick auf seine Festplatte werfen und den Ort für das Verzeichnis selbst suchen kann - wenn man das möchte.
Carsten |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
NoValidate ändert nichts
Carsten |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Zitat:
Wenn du das im eigene Programm willst, dann mehrer Schritte 1, Dialog mit "Wollen sie die Daten unter "..." anlegen 2, Wenn "OK" -> Anlegen 3, Wenn "Nein" -> OpenDialog, damit der User ein eigenes Verzeichnis vorgibt odre im Dialog mit "Neuer Ordner" anlegt 4, Falls hier Abbruch -> Gesamte Aktion abbrechen. |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Also ist die Option fdoPathMustExist ohne Auswirkung auf das Verhalten?
Und mit fdpCreateprompt kommt zqwar die Abfrage, ob das Verzeichnis angelegt werden soll. OK legt es aber trotzdem nicht an. Klingt für mich alles nicht so ganz bugfrei. Carsten |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Ich habe bei mir das mit TBrowseForFolder gemacht. Das zeigt ein Dialogfeld zur Auswahl eines Folder, man kann dort auch einen neuen anlegen.
Delphi-Quellcode:
Gruß
function TClassCommonLib.OpenDialogSetFolder(const nInitFolder: string; var SelectedFolder: string ): Boolean;
var nFolder: TBrowseForFolder; begin nFolder:= nil; try nFolder:= TBrowseForFolder.Create(nil); try nFolder.BrowseOptions:= [bifDontGoBelowDomain, bifNewDialogStyle ]; nFolder.UseFileDialog:= True; nFolder.Folder:= nInitFolder; if nFolder.Execute then SelectedFolder := nFolder.Folder; except on E: exception do begin Result := False; Exit; end; end; finally nFolder.Free; end; Result := True; end; Heinz |
AW: Neues Verzeichnis mit TFileOpenDialog anlegen
Man kann aber z.B. Favoriten für den Open/Save-Dialog definieren
und da ließe sich dann z.B auch so ein Vorgabepfad mit einbringen. Bei den Dialogen muß man auch höllisch aufpassen, den wenn man z.B. einen ungültigen Pfad als Initial reingibt, dann passiert es gern, dass der Dialog garncht mehr aufgeht und direkt behauptet der OK-Knöpf wäre gedrückt worden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 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-2025 by Thomas Breitkreuz