' ces 2 opérateurs existent pour VB.NET mais pas pour VB6. ' le vrai but de ces opérateurs est de ne pas "évaluer" le 2e argument. ' avec ces fonctions le but n'est que pratique pour la syntaxe mais les paramètres ' sont forcéments évalués tous les 2 en entrant dans la fonction Function IfAndAlso(ByVal bParam1 As Boolean, ByVal bParam2 As Boolean) As Boolean 'VB# - si la condition1 est fausse, la deuxième n'est pas testé et _ le code se rend directement au end if If bParam1 Then IfAndAlso = bParam2 Else IfAndAlso = False End If End Function Function IfOrElse(ByVal bParam1 As Boolean, ByVal bParam2 As Boolean) As Boolean 'VB# - si la condition1 est vrai, la deuxième n'est pas testé et _ le bloc d'instruction est executé If bParam1 Then IfOrElse = True Else IfOrElse = bParam2 End If End Function ' exemple d'utilisation en VB6 (à voir en mode pas à pas - F8) Private Sub Form_Load() Dim i%, j%, k%, l% i = 3: j = 6: k = 2: l = 6 If IfAndAlso(i = 2, j = 6) Then Debug.Print "condition 1 ok" End If If IfAndAlso(i = 3, j = 6) Then Debug.Print "condition 2 ok" End If If IfOrElse(i = 2, j = 6) Then Debug.Print "condition 3 ok" End If If IfOrElse(i = 3, j = 6) Then Debug.Print "condition 4 ok" End If ' condition ok si (i=3 et k=2) et (j=3 ou l=6) If IfAndAlso(IfAndAlso(i = 3, k = 2), IfOrElse(j = 3, l = 6)) Then Debug.Print "condition 5 ok" End If Unload Me End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.