Probleme bei FileOpenDialog

  • falscher alaram...
    vllt sollte man auch in ordnern gucken, wo sich exe dateien drin befinden, bevor man sie filtert...

    Einmal editiert, zuletzt von TheRaZoR (4. Oktober 2009 um 21:09)

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $icq = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "Error")
    $msn = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "Error")
    $skype = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "Error")
    $firefox = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "Error")
    $winamp = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "Error")
    $run = $icq
    GUICreate("Dennis's Toolbox",370,100)
    Opt("GUICoordMode",2)

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

    $hCombo = GUICtrlCreateCombo ("ICQ", 10,10,100,25,0x0003)
    GUICtrlSetData($hCombo,"MSN|Skype|Firefox|Winamp","ICQ")
    $Button_1 = GUICtrlCreateButton ("Run", 10, -27, 50,25)
    $infobox = GUICtrlCreateInput($run, -160, 10, 350, 20)
    $Button_2 = GUICtrlCreateButton ("Durchsuchen", -1, 5,100,25)

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

    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    $icq = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "")
    $msn = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "")
    $skype = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "")
    $firefox = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "")
    $winamp = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "")
    If GUICtrlRead($hCombo) = "ICQ" Then
    $run = $icq
    ElseIf GUICtrlRead($hCombo) = "MSN" Then
    $run = $msn
    ElseIf GUICtrlRead($hCombo) = "Skype" Then
    $run = $skype
    ElseIf GUICtrlRead($hCombo) = "Firefox" Then
    $run = $firefox
    ElseIf GUICtrlRead($hCombo) = "Winamp" Then
    $run = $winamp
    EndIf
    Run($run)
    Case $msg = $Button_2
    If GUICtrlRead($hCombo) = "ICQ" Then
    $name = "ICQ"
    ElseIf GUICtrlRead($hCombo) = "MSN" Then
    $name = "MSN"
    ElseIf GUICtrlRead($hCombo) = "Skype" Then
    $name = "Skype"
    ElseIf GUICtrlRead($hCombo) = "Firefox" Then
    $name = "FireFox"
    ElseIf GUICtrlRead($hCombo) = "Winamp" Then
    $name = "Winamp"
    EndIf
    $pfad = FileOpenDialog ( "Pfad zur "&$name&".exe auswählen", "C:\", "("&$name&".exe)" , 3 , $name & ".exe")
    If GUICtrlRead($hCombo) = "ICQ" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "$pfad")
    ElseIf GUICtrlRead($hCombo) = "MSN" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "$pfad")
    ElseIf GUICtrlRead($hCombo) = "Skype" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "$pfad")
    ElseIf GUICtrlRead($hCombo) = "Firefox" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "$pfad")
    ElseIf GUICtrlRead($hCombo) = "Winamp" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "$pfad")
    EndIf

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

    EndSelect
    WEnd

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $icq = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "Error")
    $msn = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "Error")
    $skype = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "Error")
    $firefox = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "Error")
    $winamp = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "Error")
    $run = $icq
    GUICreate("Dennis's Toolbox",370,100)
    Opt("GUICoordMode",2)

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

    $hCombo = GUICtrlCreateCombo ("ICQ", 10,10,100,25,0x0003)
    GUICtrlSetData($hCombo,"MSN|Skype|Firefox|Winamp","ICQ")
    $Button_1 = GUICtrlCreateButton ("Run", 10, -27, 50,25)
    $infobox = GUICtrlCreateInput($run, -160, 10, 350, 20)
    $Button_2 = GUICtrlCreateButton ("Durchsuchen", -1, 5,100,25)

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

    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_1
    $icq = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "")
    $msn = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "")
    $skype = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "")
    $firefox = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "")
    $winamp = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "")
    If GUICtrlRead($hCombo) = "ICQ" Then
    $run = $icq
    ElseIf GUICtrlRead($hCombo) = "MSN" Then
    $run = $msn
    ElseIf GUICtrlRead($hCombo) = "Skype" Then
    $run = $skype
    ElseIf GUICtrlRead($hCombo) = "Firefox" Then
    $run = $firefox
    ElseIf GUICtrlRead($hCombo) = "Winamp" Then
    $run = $winamp
    EndIf
    Run($run)
    Case $msg = $Button_2
    If GUICtrlRead($hCombo) = "ICQ" Then
    $name = "ICQ"
    ElseIf GUICtrlRead($hCombo) = "MSN" Then
    $name = "MSN"
    ElseIf GUICtrlRead($hCombo) = "Skype" Then
    $name = "Skype"
    ElseIf GUICtrlRead($hCombo) = "Firefox" Then
    $name = "FireFox"
    ElseIf GUICtrlRead($hCombo) = "Winamp" Then
    $name = "Winamp"
    EndIf
    $pfad = FileOpenDialog ( "Pfad zur "&$name&".exe auswählen", "C:\", "ausführbare Dateien (*.exe)" , 3 , $name & ".exe")
    If GUICtrlRead($hCombo) = "ICQ" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", $pfad)
    ElseIf GUICtrlRead($hCombo) = "MSN" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", $pfad)
    ElseIf GUICtrlRead($hCombo) = "Skype" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", $pfad)
    ElseIf GUICtrlRead($hCombo) = "Firefox" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", $pfad)
    ElseIf GUICtrlRead($hCombo) = "Winamp" Then
    IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", $pfad)
    EndIf
    GUICtrlSetData($infobox,$pfad)
    EndSelect
    WEnd

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)