If Bedingung

  • Hey Leute !
    Ich wollte mir ein kleines Programm erstellen , was dazu dient , Hotkeys funktionen zuzuweisen.
    Wegen der Benutzerfreundlichkeit , wollte ich es mit Checkboxen schmücken , damit man
    selbst aussuchen kann , ob die jeweilige Funktion aktiviert sein soll.
    Klappt super , mit einem.nun möchte ich aber auch die anderen Funktionen aktivieren können ,
    was nicht klappt.Ich habe es mit if und Select probiert.
    Funktioniert nur mit dem ersten :(
    Hier der bisherige Code , die anderen Funktionen mache ich erst wenn das
    mit Checkbox funktioniert.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <INet.au3>
    #Region ### START Koda GUI section ### Form=C:\Program Files\AutoIt3\SciTE\Koda\Forms\timsmultitool.kxf
    $Form1 = GUICreate("Form1", 506, 243, 192, 124)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 168, 32, 97, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox2", 168, 56, 97, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox3", 168, 80, 97, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Checkbox4", 168, 104, 97, 17)
    $Checkbox5 = GUICtrlCreateCheckbox("Checkbox5", 168, 128, 97, 17)
    $Checkbox6 = GUICtrlCreateCheckbox("Checkbox6", 168, 152, 97, 17)
    $Checkbox7 = GUICtrlCreateCheckbox("Checkbox7", 168, 176, 97, 17)
    $Button1 = GUICtrlCreateButton("Starten", 153, 208, 71, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Speichern", 336, 208, 75, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Laufwerk", 8, 32, 60, 17)
    $Label2 = GUICtrlCreateLabel("IP", 8, 56, 60, 17)
    $Label3 = GUICtrlCreateLabel("Shutdown", 8, 80, 60, 17)
    $Label4 = GUICtrlCreateLabel("Firefox", 8, 104, 60, 17)
    $Label5 = GUICtrlCreateLabel("ICQ", 8, 128, 60, 17)
    $Label6 = GUICtrlCreateLabel("Label6", 8, 152, 60, 17)
    $Label7 = GUICtrlCreateLabel("Label7", 8, 176, 60, 17)
    $Label8 = GUICtrlCreateLabel("Funktion | Taste | Aktiv | Einstellungen", 8, 8, 420, 17)
    $Input1 = GUICtrlCreateInput("", 72, 32, 89, 21)
    $Input2 = GUICtrlCreateInput("", 72, 56, 89, 21)
    $Input3 = GUICtrlCreateInput("", 72, 80, 89, 21)
    $Input4 = GUICtrlCreateInput("", 72, 104, 89, 21)
    $Input5 = GUICtrlCreateInput("", 72, 128, 89, 21)
    $Input6 = GUICtrlCreateInput("", 72, 152, 89, 21)
    $Input7 = GUICtrlCreateInput("", 72, 176, 89, 21)
    $Checkbox8 = GUICtrlCreateCheckbox("Checkbox8", 400, 32, 97, 17)
    $Checkbox9 = GUICtrlCreateCheckbox("Checkbox9", 400, 56, 97, 17)
    $Checkbox10 = GUICtrlCreateCheckbox("Checkbox10", 400, 80, 97, 17)
    $Checkbox11 = GUICtrlCreateCheckbox("Checkbox11", 400, 104, 97, 17)
    $Checkbox12 = GUICtrlCreateCheckbox("Checkbox12", 400, 128, 97, 17)
    $Checkbox13 = GUICtrlCreateCheckbox("Checkbox13", 400, 152, 97, 17)
    $Checkbox14 = GUICtrlCreateCheckbox("Checkbox14", 400, 176, 97, 17)
    $Label9 = GUICtrlCreateLabel("Label9", 272, 32, 116, 17)
    $Label10 = GUICtrlCreateLabel("Label10", 272, 56, 114, 17)
    $Label11 = GUICtrlCreateLabel("Label11", 272, 80, 114, 17)
    $Label12 = GUICtrlCreateLabel("Label12", 272, 104, 114, 17)
    $Label13 = GUICtrlCreateLabel("Label13", 272, 128, 122, 17)
    $Label14 = GUICtrlCreateLabel("Label14", 272, 152, 114, 17)
    $Label15 = GUICtrlCreateLabel("Label15", 272, 176, 122, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    ;START
    $hotkey1 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste1" , "error")
    $hotkey2 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste2" , "error")
    $hotkey3 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste3" , "error")
    $hotkey4 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste4" , "error")
    $hotkey5 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste5" , "error")
    $hotkey6 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste6" , "error")
    $hotkey7 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste7" , "error")

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

    GUICtrlSetData($Input1 , $hotkey1)
    GUICtrlSetData($Input2 , $hotkey2)
    GUICtrlSetData($Input3 , $hotkey3)
    GUICtrlSetData($Input4 , $hotkey4)
    GUICtrlSetData($Input5 , $hotkey5)
    GUICtrlSetData($Input6 , $hotkey6)
    GUICtrlSetData($Input7 , $hotkey7)
    ;Erfolreich gestartet

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _start()
    Case $Button2
    _speichern()
    EndSwitch
    WEnd

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

    Func _start()
    _speichern()
    GUISetState(@SW_HIDE)
    $hotkey1 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste1" , "error")
    $hotkey2 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste2" , "error")
    $hotkey3 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste3" , "error")
    $hotkey4 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste4" , "error")
    $hotkey5 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste5" , "error")
    $hotkey6 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste6" , "error")
    $hotkey7 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste7" , "error")
    $test1 = GUICtrlRead($Checkbox1)
    $test2 = GUICtrlRead($Checkbox2)
    $test3 = GUICtrlRead($Checkbox3)
    $test4 = GUICtrlRead($Checkbox4)
    $test5 = GUICtrlRead($Checkbox5)
    $test6 = GUICtrlRead($Checkbox6)
    $test7 = GUICtrlRead($Checkbox7)
    Select
    Case $test1 = 1
    HotKeySet( $hotkey1 , "_laufwerk")
    Case $test2 = 1
    HotKeySet( $hotkey2 , "_ip")
    EndSelect
    EndFunc

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

    Func _speichern()
    $taste1 = GUICtrlRead( $Input1)
    $taste2 = GUICtrlRead( $Input2)
    $taste3 = GUICtrlRead( $Input3)
    $taste4 = GUICtrlRead( $Input4)
    $taste5 = GUICtrlRead( $Input5)
    $taste6 = GUICtrlRead( $Input6)
    $taste7 = GUICtrlRead( $Input7)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste1" , $taste1)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste2" , $taste2)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste3" , $taste3)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste4" , $taste4)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste5" , $taste5)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste6" , $taste6)
    IniWrite(@ScriptDir & "\tasten.ini" , "tasten ", "taste7" , $taste7)
    EndFunc

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

    Func _laufwerk()
    $open = 0
    If $open = 0 Then
    CDTray("E:" , "open")
    $open = $open +1
    ElseIf $open = 1 Then
    CDTray("E:" , "close")
    $open = 0
    EndIf
    EndFunc

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

    Func _ip()
    $ip = _GetIP()
    MsgBox(0 , "IP" , "Deine IP lautet : " & $ip)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Hallo latemail !
    Werde ich gleich mal probieren , bei fragen werd ich mich melden :D
    Mit Arrays hab ich überhaupt keine erfahrung :(

    Ich habe es so probiert :

    Spoiler anzeigen
    [autoit]

    Func _start()
    _speichern()
    GUISetState(@SW_HIDE)
    $hotkey1 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste1" , "error")
    $hotkey2 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste2" , "error")
    $hotkey3 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste3" , "error")
    $hotkey4 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste4" , "error")
    $hotkey5 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste5" , "error")
    $hotkey6 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste6" , "error")
    $hotkey7 = IniRead(@ScriptDir & "\tasten.ini" , "tasten ", "taste7" , "error")
    $test1 = GUICtrlRead($Checkbox1)
    $test2 = GUICtrlRead($Checkbox2)
    $test3 = GUICtrlRead($Checkbox3)
    $test4 = GUICtrlRead($Checkbox4)
    $test5 = GUICtrlRead($Checkbox5)
    $test6 = GUICtrlRead($Checkbox6)
    $test7 = GUICtrlRead($Checkbox7)
    While 1
    If $test1 = 1 Then
    HotKeySet($hotkey1 , "_laufwerk")
    EndIf
    If $test2 = 1 Then
    HotKeySet($hotkey2 , "_ip")
    EndIf
    WEnd
    EndFunc

    [/autoit]


    Aber ich glaube da habe ich was falsch verstanden ?!

  • Hallo SEuBo !
    Danke , ich werde es probieren :)
    Danke für den tipp , garnicht gemerkt ,
    habe ich noch per hand eingefügt :D