![]() |
Nur einen Ordner auswählen
Moin.
Ich mach ne art "Installationsprogramm". Man muss einen Pfad eingeben wo man speichern will (is ja eigentlich klar :zwinker:). Aber per Savedialog kann man nicht den Order auswählen in dem man speichern will sondern nur eine Datei. D.H. wie kann ich den über so ein dialog (oder sonst wie) nur den Ordner auswählen? |
Re: Nur einen Ordner auswählen
Hallo,
wenn Du den Save-Dialog benutzt, musst Du eben eine Datei angeben. Ich schlage vor, das Du den Open-Dialog verwendest, in dem der Ordner seinen Zielordner auswählen kann. Wenn der Dialog geschlossen wird, weisst Du doch wo der Benutzer das Programm hininstalliert haben möchte. Gruss Samson |
Re: Nur einen Ordner auswählen
Hi Samson,
hmm, dein Vorschlag geht irgendwie net. Der Pfad soll ja danach in einem Editfeld angeben sein. |
Re: Nur einen Ordner auswählen
Ein Hallöle von
![]() mal ein Tipp: selber machen. Zum Beispiel: ein leeres Formular, eine DriveComboBox, eine DirectoryListBox, zwei Button's (OK, Abbrechen) und ShowModal http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Nur einen Ordner auswählen
Sucht nach SelectDirectory.
|
Re: Nur einen Ordner auswählen
:wall: :wall: :wall:
Sorry. Ich verwende selber die JediCode-Komponenten. Jedi-Dinger haben eine eigene Komponente für die Auswahl von Ordner. Ich schlage vor, das Du Sie dir herunter läds. Guck mal von ![]() Jedi-Compos sollten in keiner Workbensch fehlen. Gruss Samson. |
Re: Nur einen Ordner auswählen
Zitat:
Noch eine Möglichkeit: ![]() |
Re: Nur einen Ordner auswählen
ich schließe mich Tom an. Das ist das Einfachste:
Delphi-Quellcode:
:xmas:
uses FileCtrl;
... procedure TForm1.Button1Click(Sender: TObject); var Pfad: string; begin SelectDirectory('Ordner auswählen','',Pfad); end; |
Re: Nur einen Ordner auswählen
Zitat:
![]() |
Re: Nur einen Ordner auswählen
SelectDirectory funktioniert ja bestens.
Da ich aber noch mehr in meinen Form's zur Verzeichnissauswahl habe, kommt diese leider nicht für mich in betracht. Kennt also jemand eine Komponente, wie die in SelectDirectory, zur Verzeichnissauswahl ? Damit ich mal diese alten Dinger (DriveComboBox & DirectoryListBox) entsorgen kann. http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Nur einen Ordner auswählen
Das sagte doch Tom schon. ;)
|
Re: Nur einen Ordner auswählen
Da SelectDirectory (FileCtrl) schon bei Delphi dabei sind, "denke" ich es gibt diese Komponente eventuell auch einzeln - ohne das Formular drumherum.
Also nicht über die JEDI-VCL oder so. http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Nur einen Ordner auswählen
Hallo Himitsu,
Vielleicht hast Du recht, vielleicht aber auch nicht. Bis jetzt kannte ich noch fast keinen Fall, den ich nicht ohne andere Komponenten lösen konnte. Aber was spricht gegen die Jedi??? Jedi sind kostenlos und haben viele schöne Komponenten dabei. Ausserdem bevor ich das Rad neu entwickle, benutze ich diese lieber. Klar, unter anderem Aspekt könnte man sagen, das wenn man es selber macht lernt man das Interne. Richtig. Ich persönlich bin schon fast aus diesem Stadium und benutze nun auch das einfache. Gruss Samson |
Re: Nur einen Ordner auswählen
So, ich nehme jetzt die FileCtrl auseinander.
Hab zwei schon Version entdeckt:
Delphi-Quellcode:
Die erste Version verwendet die Folgenden Komponenten:
SelectDirectory(Pfad, [], 0);
SelectDirectory('Ordner auswählen', '', Pfad); {Definition} function SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint): Boolean; overload; function SelectDirectory(const Caption: string; const Root: WideString; var Directory: string): Boolean; overload;
Delphi-Quellcode:
Die Zweite zerlege ich noch.
DirList: TDirectoryListBox;
DirEdit: TEdit; DriveList: TDriveComboBox; DirLabel: TPathLabel; OKButton: TButton; CancelButton: TButton; HelpButton: TButton; NetButton: TButton; FileList: TFileListBox; |
Re: Nur einen Ordner auswählen
Wenn Du Dir selber etwas basteln möchtest, was vernünftig aussieht:
- ![]() - TShell*-Komponenten aus der Palette Beispiele (ab D6) sollten Dir helfen. |
Re: Nur einen Ordner auswählen
:x Mist,
bin am Ende meiner Suche:
Delphi-Quellcode:
Diese Komponente gibt es bestimmt irgendwo, bloß für mich ist hier Schluß.
function SHBrowseForFolder; external 'shell32.dll' name 'SHBrowseForFolderA';
function SHBrowseForFolderA; external 'shell32.dll' name 'SHBrowseForFolderA'; function SHBrowseForFolderW; external 'shell32.dll' name 'SHBrowseForFolderW'; http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Nur einen Ordner auswählen
Was suchst du? SHBrowseForFolder ist ein Dialog vom System (= von Windows). Wozu brauchst du da eine Form oder Komponente? Ruf das Ding einfach auf, und fertig. Je nach Windows-Version kannst du ein Eingabefeld usw. einblenden. Größer wird dein Programm dadurch nicht (wirklich). Schau mal im PSDK nach.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 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