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

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • 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

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...