Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TSelectDirExtOpts (Selectdirectory-Dialog) (https://www.delphipraxis.net/86972-tselectdirextopts-selectdirectory-dialog.html)

ichbins 21. Feb 2007 17:17


TSelectDirExtOpts (Selectdirectory-Dialog)
 
Hallo, ich versuche einen selectdiretory-Dialog aufzurufen, bei dem der User die Möglichkeit hat einen Ordner zu erstellen.

Und da ich gelesen habe dass das mit der zweiten Variante der selectdirectory-Funktion gehen soll

[delphi]
Code:
 function SelectDirectory(const Caption: string, const Root: WideString, var Directory: string, Options: TSelectDirExtOpts, Parent: TWinControl): Boolean;
aber in diser absolut unbrauchbaren Delphi-Onlinehilfe nirgends steht wie die selectdirextopts heißen, die man dazu verwenden muss, will ich die Frage mal an euch richten...

marabu 21. Feb 2007 19:31

Re: TSelectDirExtOpts (Selectdirectory-Dialog)
 
Hallo Michael,

in D7 heißt der Typ noch TSelectDirOpt und findet sich in der Unit FileCtrl. Wenn du keine Quellen zu deinen Units hast, dann hilft folgender Trick:

Delphi-Quellcode:
var
  sdxo: TSelectDirExtOpt;
begin
  sdxo := FileCtrl.
end;
Nach Eingabe des Punktes werden dir von Code-Insight alle Konstanten aufgelistet. sdAllowCreate (D7) heißt übrigens nicht, dass der Dialog das Verzeichnis anlegt, sondern lediglich, dass auch ein nicht existenter Verzeichnisnamen mit OK zurück gegeben werden darf. MkDir() musst du schon noch selber aufrufen.

Grüße vom marabu

ichbins 21. Feb 2007 20:17

Re: TSelectDirExtOpts (Selectdirectory-Dialog)
 
Was du meinst sind die selectdiropts, die gibts in 2005 auch noch und zu denen steht auch in der Onlinehilfe was.

Aber ich verwende ja die zweite Variante der überladenen Funktion.

Trotzdem danke für den Tipp, eigentlich hätte ich selbst da draufkommen müssen :wall:



Jetzt gehts jedenfalls:
Delphi-Quellcode:
function selectfolder(caption,root,dir:string):string;
var
  path:string;
begin
  if selectdirectory(caption,root,path,[filectrl.sdNewFolder,filectrl.sdNewUI],nil) then
    result:=path
  else
    result:='';
end;

karma 20. Jan 2009 17:35

Re: TSelectDirExtOpts (Selectdirectory-Dialog)
 
Moin,
ich grab diesen Thread mal wieder aus. Ich benutze Turbo Delphi Explorer 2006 und wollte in mein Programm eigentlich auch ein SelectDirectory einbauen. Bei mir soll man auch die Möglichkeit haben, neue Ordner zu erstellen. Der Dialog wird auch angezeigt, allerdings hab ich das Problem, dass er, wenn man auf Neuer Ordner klickt, diesen nur manchmal anzeigt. Erzeugt wird der Ordner immer (sehe ich im Windows Explorer).
Ich benutze genau den gleichen Code wie hier beschrieben. tritt das Problem bei euch auch auf?


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