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" in AutoIT ein IIF Func zu Skripten.
Rausgekommen ist nichts wildes aber man kann schon eineige zeilen Code Sparen!
Hir die IIF.au3 ich denke sie ist Selbsterklärend
Ich hoffe das ich keine Operatoren Vergessen habe!
Spoiler anzeigen
;===================================================================================================================================#
;~ 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)
;====================================================================================================================================#
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
Edit:/ Beachten mein Post einfach nicht bitte diesen ---> Link ( _Iif() ) Danke
LG Kleiner