Zeigt den "Datei öffnen"-Dialog an.
FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name" [, hwnd]]] )
Parameter
| title | Titel des Dialogfensters. |
| init dir | Startverzeichnis. |
| filter | Dateifilter wie z.B. "Alle (*.*)" oder "Textdateien (*.txt)" oder Multifiltergruppen wie z.B. "Alle (*.*)|Textdateien (*.txt)" (Siehe Bemerkungen). |
| options | [optional] Dialog-Optionen: Um mehr als eine Option zu verwenden, addiere die entsprechenden Werte. 1 = Datei muss existieren (wenn der Benutzer einen Dateinamen eintippt) 2 = Pfad muss existieren (wenn der Benutzer einen Pfad eintippt, endend mit einem Backslash) 4 = Erlaube Mehrfachauswahl 8 = Frage nach Erstellung einer neuen Datei, wenn diese nicht existiert. |
| default name | [optional] Dateinamensvorschlag, der als Standard verwendet wird. Standard ist eine leerer String (""). |
| hwnd | [optional] Das Fenster Handle welches als Parent für diesen Dialog verwendet wird. |
Rückgabewert
| Erfolg: | Gibt den kompletten Pfad der ausgewählten Datei zurück. Rückgabe mehrerer Dateien wie folgt: "Verzeichnis|Datei1|Datei2|..." |
| Fehler: | Setzt @error |
| @error: | 1 - Keine Datei ausgewählt. |
| 2 - Falscher Dateifilter |
Bemerkungen
Die Filter sind, wie im Beispiel zu sehen, mit Semikolon zu trennen.
Verwandte Funktionen
FileSaveDialog, FileSelectFolder, StringSplit
Beispiel
$message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."
$var = FileOpenDialog($message, @WindowsDir & "\", "Bilder (*.jpg;*.bmp)", 1 + 4 )
If @error Then
MsgBox(4096,"","Keine Datei(en) ausgewählt")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","Es wurde(n) " & $var & " ausgewählt")
EndIf
; Mehrfache Filtergruppe
$message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."
$var = FileOpenDialog($message, @WindowsDir & "", "Bilder (*.jpg;*.bmp)|Videos (*.avi;*.mpg)", 1 + 4 )
If @error Then
MsgBox(4096,"","Keine Datei(en) ausgewählt")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","Es wurde(n) " & $var & " ausgewählt.")
EndIf