switch Case

  • lässt sich folgendes noch kürzer schreiben?

    [autoit]


    Switch IniRead("m47.ini", "Freedom_Server_Wechsel", "Wert", "")
    Case 1
    $i = 2
    Case 2
    $i = 3
    Case 3
    $i = 4
    Case 4
    $i = 5
    Case 5
    $i = 6
    Case 6
    $i = 7
    Case 7
    $i = 8
    Case 8
    $i = 9
    Case 9
    $i = 10
    Case 10
    $i = 1
    EndSwitch

    [/autoit]


    Vielen Dank!

    3 Mal editiert, zuletzt von m47 (25. Juni 2012 um 04:08)

  • So z.B.:

    [autoit]

    $i = IniRead("m47.ini", "Freedom_Server_Wechsel", "Wert", "") + 1
    if $i = 11 Then $i = 1

    [/autoit]

    Gruss Shadowigor

  • Alternative:

    [autoit]

    $i = Mod(IniRead("m47.ini", "Freedom_Server_Wechsel", "Wert", ""), 10) + 1

    [/autoit]


    das ist ja genial!

    eine kleine zusatzaufgabe:

    [autoit]


    Switch GUICtrlRead($Slider_Spielzeit_Info)
    Case 0
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", "AUS")
    Case 1
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", "EIN(1)")
    Case 2
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", "EIN(2)")
    Case 3
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", "EIN(3)")
    EndSwitch

    [/autoit]

    meine abkürzung:

    [autoit]


    Switch GUICtrlRead($Slider_Spielzeit_Info)
    Case 0
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", "AUS")
    Case 1 to 3
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", "EIN("&GUICtrlRead($Slider_Spielzeit_Info)&")")
    EndSwitch

    [/autoit]

    habs noch nicht getestet, wäre mein ansatz richtig?

    4 Mal editiert, zuletzt von m47 (25. Juni 2012 um 04:09)

  • Funktionieren sollte es aber in dem Fall könnte man auch eine einfache If-Else-Abfrage auf Wert=0 machen statt einem Switch.
    Prinzipiell kannst du das auch in eine Zeile quetschen aber es wird dann unübersichtlich und an der If-Else-Verzweigung ändert sich dann auch nix - es wurde nur in eine UDF ausgelagert:

    [autoit]

    #include <Misc.au3>
    IniWrite("m47.ini", "Input_Spielzeit_Info", "Wert", _Iif(GUICtrlRead($Slider_Spielzeit_Info) = 0, "AUS", "EIN(" & GUICtrlRead($Slider_Spielzeit_Info) & ")"))

    [/autoit]