If ... Then ... EndIf

  • Hallo alle miteinander,

    ich steh grad völlig aufm Schlauch.
    Was ist daran falsch?
    Problem ist das immer die erste If-Einfahrt genommen wird, ganz gleich welchen Wert $var hat.

    Mfg Spunky

    Spoiler anzeigen
    [autoit]

    Local $var = 7

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

    If $var = 0 Or 1 Or 2 Or 3 Or 4 Then
    MsgBox(0, '', 'klein')
    ElseIf $var = 5 Or 6 Or 7 Or 8 Or 9 Then
    MsgBox(0, '', 'groß')
    Else
    MsgBox(0, '', 'Variable ist falsch')
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von Spunky (25. April 2010 um 12:56)

  • Du musst überall $var = vorschreiben, also:

    Spoiler anzeigen
    [autoit]

    Local $var = 7

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

    If $var = 0 Or $var = 1 Or $var = 2 Or $var = 3 Or $var = 4 Then
    MsgBox(0, '', 'klein')
    ElseIf $var = 5 Or $var = 6 Or $var = 7 Or $var = 8 Or $var = 9 Then
    MsgBox(0, '', 'groß')
    Else
    MsgBox(0, '', 'Variable ist falsch')
    EndIf

    [/autoit]

    o
    L_/
    | ||

    This ist janaiky. Copy janaiky into your signature to help him on the war to the Weltherrschaft.

  • Doch mit Switch:

    Spoiler anzeigen
    [autoit]

    Local $var = 7

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

    Switch $var
    Case 0,1,2,3,4
    MsgBox(0, '', 'klein')
    Case 5,6,7,8,9
    MsgBox(0, '', 'groß')
    Case Else
    MsgBox(0, '', 'Variable ist falsch')
    EndSwitch

    [/autoit]

    Edit: BugFix war schneller und besser ;(

    o
    L_/
    | ||

    This ist janaiky. Copy janaiky into your signature to help him on the war to the Weltherrschaft.