FileSaveDialog verschiedene dateitypen vorschlagen

  • ich kann ja bei filesavedialog verschiedene dateitypen vorschlagen wie im hilfebeispeiel

    Spoiler anzeigen
    [autoit]


    $MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"

    [/autoit] [autoit][/autoit] [autoit]

    $var = FileSaveDialog( "Wähle einen Namen.", $MyDocsFolder, "Skripte (*.aut;*.au3)", 2)
    ; Option 2 = Dialog wird solange wiederholt, bis ein gültiger Pfad bzw. eine gültige Datei ausgewählt wurde.

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then
    MsgBox(4096,"","Speichern abgebrochen.")
    Else
    MsgBox(4096,"","Es wurde " & $var & " gewählt.")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Multifiltergruppen
    $var = FileSaveDialog( "Wähle einen Namen.", $MyDocsFolder, "Skripte (*.aut;*.au3)|Textdateien (*.ini;*.txt)", 2)
    ; Option 2 = Dialog wird solange wiederholt, bis ein gültiger Pfad bzw. eine gültige Datei ausgewählt wurde.

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then
    MsgBox(4096,"","Speichern abgebrochen.")
    Else
    MsgBox(4096,"","Es wurde " & $var & " gewählt.")
    EndIf

    [/autoit]

    problem ist nur wie sehe ich was der user angeklickt hat?
    in der hilfe hab ich es nicht gefunden

    Einmal editiert, zuletzt von gem (13. August 2011 um 14:28)

  • Puh.....

    habs grad getestet, in $var befindet sich NUR der Dateiname.....

    aber du kannst mit

    [autoit]

    Select
    Case FileExists($var&".au3")

    [/autoit][autoit][/autoit][autoit]

    Case FileExists($var&".XXX")

    [/autoit][autoit][/autoit][autoit]

    EndSelect

    [/autoit]

    Die fallunterscheidung für die verschiedenen Typen Programmieren
    (wenns die datei halt mit ner anderen endung schon giebt,
    muste erstellungsdatum und größte überprüfen dann biste ganz sicher)

    -

  • Wenn ich dich recht verstehe willst du, dass die Dateiendung selbsständig je nach Typ Auswahl an den Dateinamen angehängt wird. Das scheint mit der Standard Autoit Funktion aber nicht zugehen. Es sollte aber durchaus realisierbar sein, wenn man sich seinen SaveDialog mit der zugehörigen winAPI Funktion erstellt. Dort scheint es etwas mehr Möglichkeiten zur Konfiguration zu geben, habe jetzt aber keine Lust damit rumzuspielen.

    [autoit]


    _WinAPI_GetSaveFileName()
    ; unbedingt ansehen solltest du dir auch den damit verknüpften Hilfeeintrag zu den möglichen Flags, also
    $tagOPENFILENAME ; http://translation.autoit.de/onlinehilfe/libfunctions/$tagOPENFILENAME.htm

    [/autoit]

    Habs aber nur überflogen und kann dir nicht sicher sagen ob du das Verhalten damit realisiert bekommst.