Funktionreferenz


FileSaveDialog

Beschreibung anzeigen in

Zeigt den "Datei speichern"-Dialog an.

FileSaveDialog ( "title", "init dir", "filter" [, options = 0 [, "default name" [, hwnd]]] )

Parameter

title Titel des Dialoges.
init dir Startverzeichnis, welches im Verzeichnisbaum markiert wird.
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, müssen diese "Oder"(BitOr) verknüpft werden.
    $FD_PATHMUSTEXIST (2) = Pfad muss existieren (wenn der Benutzer einen Pfad eintippt, endet er mit einem Backslash)
    $FD_PROMPTOVERWRITE (16) = Frage beim Überschreiben einer Datei

Die Konstanten sind in FileConstants.au3 definiert.
default name [optional] Dateinamensvorschlag, unter dem die Datei gespeichert werden soll. Standard ist ein leerer String ("").
hwnd [optional] Das Fenster Handle welches als Parent für diesen Dialog verwendet werden soll.

Rückgabewert

Erfolg: Den kompletten Pfad der ausgewählten Datei. Rückgabe mehrerer Dateien wie folgt: "Verzeichnis|Datei1|Datei2|..."
Fehler: Setzt das @error Flag auf ungleich null.
@error: 1 = Dateiauswahl fehlgeschlagen.
2 = Ungültiger Dateifilter

Bemerkungen

Die Filter wie im Beispiel zu sehen mit Semikolon abtrennen.
Multifiltergruppen werden durch einen Strich "|" getrennt.

Wenn der Dateinamensvorschlag angegeben wird, müssen auch die "options" angegeben werden.
Wenn keine der "options"-Funktionen benötigt wird, muss "options" den Wert "0" erhalten.

Besondere Windows-Ordner (wie z.B. "Dokumente und Einstellungen") können als Basisverzeichnis gesetzt werden, indem man ihre CLSIDs angibt. Siehe Anhang CLSIDs besonderer Ordner.

@WorkingDir wird bei erfolgreichem Rückgabewert geändert.

Verwandte Funktionen

FileOpenDialog, FileSelectFolder

Beispiel

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>

Example()

Func Example()
    ; Erstellt eine Konstante im lokalen Bereich der Nachricht die in FileSaveDialog dargestellt werden soll.
    Local Const $sMessage = "Choose a filename."

    ; Zeigt einen Öffnen-Dialog an um eine Datei auszuwählen.
    Local $sFileSaveDialog = FileSaveDialog($sMessage, "::{450D8FBA-AD25-11D0-98A8-0800361B1103}", "Skripte (*.au3)", $FD_PATHMUSTEXIST)
    If @error Then
        ; Zeigt die Fehlermeldung.
        MsgBox($MB_SYSTEMMODAL, "", "No file was saved.")
    Else
        ; Ermittelt den Dateinamen von dem Dateiordner z. B. Example.au3.
        Local $sFileName = StringTrimLeft($sFileSaveDialog, StringInStr($sFileSaveDialog, "\", $STR_NOCASESENSEBASIC, -1))

        ; Prüft, ob die Erweiterung .au3 an Ende des Dateinamens enthalten ist.
        Local $iExtension = StringInStr($sFileName, ".", $STR_NOCASESENSEBASIC)

        ; Falls ein Punkt gefunden wurde, so wird geprüft, ob oder ob nicht die Erweiterung gleich .au3 ist.
        If $iExtension Then
            ; Falls die Erweiterung nicht gleich .au3 ist, dann wird dies an das Ende des Dateipfads angehängt.
            If Not (StringTrimLeft($sFileName, $iExtension - 1) = ".au3") Then $sFileSaveDialog &= ".au3"
        Else
            ; Falls kein Punkt gefunden wurde, dann wird die Erweiterung .au3 an das Ende des Dateipfads angehängt.
            $sFileSaveDialog &= ".au3"
        EndIf

        ; Zeigt die gespeicherte Datei.
        MsgBox($MB_SYSTEMMODAL, "", "Es wurde die folgende Datei gespeichert:" & @CRLF & $sFileSaveDialog)
    EndIf
EndFunc   ;==>Example