AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Neues Verzeichnis mit TFileOpenDialog anlegen

Neues Verzeichnis mit TFileOpenDialog anlegen

Ein Thema von Carsten Hölscher · begonnen am 28. Jun 2022 · letzter Beitrag vom 29. Jun 2022
Antwort Antwort
Carsten Hölscher

Registriert seit: 29. Jul 2008
73 Beiträge
 
Delphi 11 Alexandria
 
#1

Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 14:28
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.014 Beiträge
 
Delphi 12 Athens
 
#2

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 14:41
Zitat:
Diesen würde ich dann nach OK erzeugen.
Falsch. Besser:

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 von FOS_FILEMUSTEXIST:
Value: 0x1000
The item returned must exist. This is a default value for the Open dialog.
Soll das heißen, diese Option ist da immer aktiv?


dagegen aber

Zitat von OFN_FILEMUSTEXIST:
The user can type only names of existing files in the File Name entry field. If this flag is specified and the user enters an invalid name, the dialog box procedure displays a warning in a message box. If this flag is specified, the OFN_PATHMUSTEXIST flag is also used. This flag can be used in an Open dialog box. It cannot be used with a Save As dialog box.
ähhhh ... hmmmmm?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Jun 2022 um 14:59 Uhr)
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
73 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 14:52
Ich würde gerne einen sinnvollen Pfad vorschlagen, den der Nutzer dann nur mit OK quittieren muss.

Carsten
  Mit Zitat antworten Zitat
BerndS
Online

Registriert seit: 8. Mär 2006
Ort: Jüterbog
477 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 15:10
Hast du dir schon mal Vcl.Dialogs.InputBox angeschaut?
Bernd
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
73 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 15:34
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
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
73 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 15:42
NoValidate ändert nichts

Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 18:47
Ich würde gerne einen sinnvollen Pfad vorschlagen, den der Nutzer dann nur mit OK quittieren muss.

Carsten
Das hat aber Microsoft mit dem OpenDialog so nicht vorgesehen.
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
73 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 19:27
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
  Mit Zitat antworten Zitat
EMxRay

Registriert seit: 16. Jan 2020
Ort: Oberkochen
4 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 28. Jun 2022, 20:19
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:
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;
Gruß
Heinz
Heinz
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.014 Beiträge
 
Delphi 12 Athens
 
#10

AW: Neues Verzeichnis mit TFileOpenDialog anlegen

  Alt 29. Jun 2022, 00:07
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 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