![]() |
Multiselect Dateien und Verzeichnisse
Guten Tag,
wie die Überschrift sagt, bin ich auf der Suche "Dateien und Verzeichnisse" in einem Multiselect Dialog auszuwählen. Ich habe viel gelesen, aber nichts gefunden. Ziel ist es dem User einen Dialog zum löschen von Daten auf einem USB-Stick anzubieten. Hierbei macht es natürlich keinen Sinn, wenn der User erst die Verzeichnisse und in einem zweiten Schritt die restlichen Dateien auswählen zu lassen. Mich interesiert an dieser Stelle nicht die Funktionalität des Löschens, sondern nur der Dialog bei dem als Ergebnis in der Stringliste sowohl Verzeichnisse als auch Dateien aufgelistet sind. Wer noch den Sinn wissen will: Ich deaktiviere einen Hardwareschreibschutz eines USB Controllers per Software. Leider aber kriegt beispielsweise der Explorer von Windows 8 nicht mit, dass der Schreibschutz aufgehoben wurde. Ich kann zwar in den Explorer per Strg-C Dateien hineinkopieren, aber ich kan keine Dateien löschen. Über meine Software mit beispielsweise "DeleteFile" schon. Also möchte ich das Löschen Softwareseitig anbieten. Möglichst aber unkompliziert. Bin über Euer Feedback sehr dankbar. Auch über Hinweise den Explorer zu einem Refresh bzgl. des nicht mehr schreibgeschützten Mediums zu zwingen. Gruß Hendrik |
AW: Multiselect Dateien und Verzeichnisse
Gibt es einen besonderen Grund, warum nimmst du keinen TFileOpenDialog (mit MultiSelect unmd Ordnerauswahl in den Options) nimmst?
|
AW: Multiselect Dateien und Verzeichnisse
Der Vista-OpenFileDialog kann doch nur entweder Dateien oder Verzeichnisse auswählen? :gruebel:
|
AW: Multiselect Dateien und Verzeichnisse
|
AW: Multiselect Dateien und Verzeichnisse
Und wie willst Du das in einen Standard-Dialog einbauen?
|
AW: Multiselect Dateien und Verzeichnisse
Will er?
Nimm einen eigenen Dialog: Links bildest Du den Explorer nach, rechts die 'Sammelliste' für ausgewählte Dateien. Links wählst Du Verzeichnisse und/oder Dateien aus und ziehst sie nach rechts in die Sammelliste. Wenn Du fertig bist, drückst Du auf 'Löschen' und dann werden alle Dateien/Verzeichnisse in der Sammelliste gelöscht. |
AW: Multiselect Dateien und Verzeichnisse
Zitat:
|
AW: Multiselect Dateien und Verzeichnisse
Guten Morgen,
ersteinmal vielen Dank an alle die sich um eine Lösung bemühen! Den TOpenFileDialog habe ich aktuell auch verwendet. @mm1256: Kannst Du das näher erläutern mit dem Überschreiben von "GetResults?" |
AW: Multiselect Dateien und Verzeichnisse
[QUOTE=HendrikSturm;@mm1256: Kannst Du das näher erläutern mit dem Überschreiben von "GetResults?"[/QUOTE]
Leider kein vollständiges Beispiel, hatte nur mal kurz einen Blick auf die Source geworfen und gesehen, dass GetResults für die Rückgabe der FileList verantwortlich ist. Demzufolge müsste es in etwa so klappen:
Delphi-Quellcode:
type
TMyFileOpenDialog = class(TCustomFileDialog) ... function GetResults: HResult; override; ... end; |
AW: Multiselect Dateien und Verzeichnisse
Kann man mit TOpenDialog überhaupt Verzeichnis auswählen?
|
AW: Multiselect Dateien und Verzeichnisse
Zitat:
siehe TOpenFileDialog.Options Ansonsten gibt es halt noch den Ordner-Auswahldialog, aber den kann man nicht gut bedienen. |
AW: Multiselect Dateien und Verzeichnisse
'GetResults' liefert doch eh nur die Liste der ausgewaehlten Dateien. Mir waere nicht bewusst, das man hier die Usability veraendern kann.
|
AW: Multiselect Dateien und Verzeichnisse
Guten Morgen,
auch wenn das jett nicht meine eigene Lösung ist, so ist es wenigstens eine Lösung und die will ich anderen suchenden nicht verheimlichen. Ich habe mir die ShellBrowser Components von Jam-Software gekauft. Mit der Komponente TJamShellList konnte ich das dann in einem eigenen Dialog zu einer Lösung bringen. Dann ist das natürlich extrem einfach, denn die Komponente unterscheidet bei den SelectedItems erst einmal nicht ob Verzeichnis oder Datei selektiert wurde.
Code:
JamShellList1.Path .= 'c:\bla\MeinVerzeichnis\';
// ... if JamShellList1.SelectedFiles.Count >0 then begin for i := 0 to JamShellList1.SelectedFiles.Count -1 do begin // Hier das Löschen der selektierten Verzeichnisse und Dateien implementieren end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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