Eine VBScript IIf ()-Funktion in AutoIT

  • Hi Leute!

    Habe schon der Öffteren mich über viele If abfragen geergert und in anderen Foren die IIF abfrage von VB gesehen, da habe "Versucht" :rolleyes: in AutoIT ein IIF Func zu Skripten.
    Rausgekommen ist nichts wildes aber man kann schon eineige zeilen Code Sparen! :D

    Hir die IIF.au3 ich denke sie ist Selbsterklärend
    Ich hoffe das ich keine Operatoren Vergessen habe! :D


    Spoiler anzeigen
    [autoit]

    ;===================================================================================================================================#
    ;~ Function Name....: IIF($expr, $Truepart = True, $Falsepart = False, $Spr = -1, $sOP = 0, $sOr = 0)
    ;
    ;~ Description......: If Abfrage
    ;~ $expr............: Wert zu Prüfung
    ;~ $Truepart........: Wenn Wert bei der Prüfung Wahr = ausgabe ( z.B True [Standart])
    ;~ $Falsepart.......: Wenn Wert bei der Prüfung Falsch = ausgabe ( z.B False [Standart])
    ;~ $Spr.............: Wert zu Prüfung mit $expr (Standart -1 wird nur $expr auf Bool True/False Überprüft)
    ;
    ;~ $sOP.............: Mit welcher Operation soll geprüft werden:0 '=
    ; 1 '==
    ; 2 '<>
    ; 3 '>
    ; 4 '<
    ; 5 '>=
    ; 6 '<=
    ; 7 'Or
    ; 8 'Not
    ;
    ;~ $sOr.............: Prüfung für die Or anweisung Standart : 0 '($expr = $Spr) Or ($expr <> $Spr)
    ; 1 '($expr = $Spr) Or ($expr > $Spr)
    ; 2 '($expr = $Spr) Or ($expr < $Spr)
    ; 3 '($expr = $Spr) Or ($expr >= $Spr)
    ; 4 '($expr = $Spr) Or ($expr <= $Spr)
    ; 5 '($expr <> $Spr) Or ($expr > $Spr)
    ; 6 '($expr <> $Spr) Or ($expr < $Spr)
    ; 7 '($expr <> $Spr) Or ($expr >= $Spr)
    ; 8 '($expr <> $Spr) Or ($expr <= $Spr)
    ; 9 '($expr > $Spr) Or ($expr < $Spr)
    ; 10 '($expr > $Spr) Or ($expr <= $Spr)
    ; 11 '($expr > $Spr) Or ($expr >= $Spr)
    ; 12 '($expr < $Spr) Or ($expr <= $Spr)
    ; 13 '($expr < $Spr) Or ($expr >= $Spr)
    ;
    ;~ Return Value(s)..: Auswertung der Prüfung True/False Benutzer(Ausgabe)
    ;
    ;~ Author(s)........: Kleiner (http://www.autoit.de)
    ;====================================================================================================================================#

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

    Func IIF($expr, $Truepart = True, $Falsepart = False, $Spr = -1, $sOP = 0, $sOr = 0)
    If ($Spr = -1) Then
    If $expr Then Return $Truepart
    Else
    Switch $sOP
    Case 0
    If ($expr = $Spr) Then Return $Truepart
    Case 1
    If ($expr == $Spr) Then Return $Truepart
    Case 2
    If ($expr <> $Spr) Then Return $Truepart
    Case 3
    If ($expr > $Spr) Then Return $Truepart
    Case 4
    If ($expr < $Spr) Then Return $Truepart
    Case 5
    If ($expr >= $Spr) Then Return $Truepart
    Case 6
    If ($expr <= $Spr) Then Return $Truepart
    Case 7
    Switch $sOr
    Case 0
    If ($expr = $Spr) Or ($expr <> $Spr) Then Return $Truepart
    Case 1
    If ($expr = $Spr) Or ($expr > $Spr) Then Return $Truepart
    Case 2
    If ($expr = $Spr) Or ($expr < $Spr) Then Return $Truepart
    Case 3
    If ($expr = $Spr) Or ($expr >= $Spr) Then Return $Truepart
    Case 4
    If ($expr = $Spr) Or ($expr <= $Spr) Then Return $Truepart
    Case 5
    If ($expr <> $Spr) Or ($expr > $Spr) Then Return $Truepart
    Case 6
    If ($expr <> $Spr) Or ($expr < $Spr) Then Return $Truepart
    Case 7
    If ($expr <> $Spr) Or ($expr >= $Spr) Then Return $Truepart
    Case 8
    If ($expr <> $Spr) Or ($expr <= $Spr) Then Return $Truepart
    Case 9
    If ($expr > $Spr) Or ($expr < $Spr) Then Return $Truepart
    Case 10
    If ($expr > $Spr) Or ($expr <= $Spr) Then Return $Truepart
    Case 11
    If ($expr > $Spr) Or ($expr >= $Spr) Then Return $Truepart
    Case 12
    If ($expr < $Spr) Or ($expr <= $Spr) Then Return $Truepart
    Case 13
    If ($expr < $Spr) Or ($expr >= $Spr) Then Return $Truepart
    EndSwitch
    Case 8
    If Not $expr Then Return $Truepart
    EndSwitch
    EndIf
    Return $Falsepart
    EndFunc ;==>IIF

    [/autoit]

    Edit:/ Beachten mein Post einfach nicht bitte diesen ---> Link ( _Iif() ) Danke :rolleyes:
    LG Kleiner

    Einmal editiert, zuletzt von Kleiner (27. August 2010 um 14:13)

  • Hi!

    Sch...... :pinch:

    Peinlich und dann noch die abfragen kann man viel einfacher stellen! :whistling:

    Edit:/ ;(

    Edit:2/ da habe ich was dazu gelernt das es so einfach ist eine Prüfung zu Führen! 8o
    LG Kleiner

    3 Mal editiert, zuletzt von Kleiner (27. August 2010 um 14:04)