Les Snippets

Connexion

Opérateur AndAlso OrElse

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 26/08/2006 19:10:41 et initié par PCPT [Liste]
Date de mise à jour : 26/08/2006 19:22:20
Vue : 5473
Catégorie(s) : Maths, Trucs & Astuces
Langages dispo pour ce code :
- VB6, VBA
- Windev
- ObjectiveCaml



Langage : VB6 , VBA
Date ajout : 26/08/2006
Posté par PCPT [Liste]
DateMAJ : 26/08/2006
' 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 BooleanByVal bParam2 As BooleanAs 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 BooleanByVal bParam2 As BooleanAs 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

Remarque :
fonctions faites à partir du tutorial :
http://www.vbfrance.com/tutoriaux/NOUVEAUX-OPERATEURS-LOGIQUES-VB2005_486.aspx
Langage : Windev
Date ajout : 12/09/2006
Posté par Elian Lacroix [Liste]
// Opérateur _ET_ permet de limiter l'évaluation des conditions
SI Condition1 ET Condition2 ALORS ...
>> Les deux conditions sont systématiquement évaluées
SI Condition1 _ET_ Condition2 ALORS ...
>> Condition2 est évaluée uniquement si Condition1 est vérifiée
Principe identique avec OU et _OU_
Langage : ObjectiveCaml
Date ajout : 04/06/2007
Posté par Cacophrene [Liste]
(* Les opérateurs "et" (&&) et "ou" (||) de OCaml correspondent toujours à AndAlso et OrElse. Voici des exemples à tester dans l'interpréteur. *)
(* Ici, on a A && B. A est faux, donc B n'est pas évalué. *)
# 1 + 1 = 3 && 1 / 0 = 1 ;;
- : bool = false
(* Ici, on a A || B. Comme A est vrai, B n'est pas évalué. *)
# 1 + 1 = 2 || 1 / 0 = 1 ;;
- : bool = true
(* Ici, on a A && B. A étant vrai, on évalue B, ce qui provoque une erreur. *)
# 1 + 1 = 2 && 1 / 0 = 1 ;;
Exception: Division_by_zero.


Snippets en rapport avec : Opérateur, Andalso, Orelse



Codes sources en rapport avec : Opérateur, Andalso, Orelse

{C / C++ / C++.NET} BATAILLE NAVALE CONTRE IA (C++)
Voici un petit jeu de bataille navale qui se joue contre l'IA. Ceux qui ne jurent que par de belles...

{C / C++ / C++.NET} CONSTRUCTEURS ET OPERATEUR + HERITAGE SIMPLE
Exemple de programmation avec des constructeurs,destructeur Utilisation de quelques type opérateurs...

{PHP} IF - ELSEIF - ELSE AVEC L'OPÉRATEUR TERNAIRE
Alors voila, moi qui aime bien l'opérateur ternaire pour sa simplicité, je me suis demandé comment o...

{Delphi} APPLICATION D'UN OPÉRATEUR LOGIQUE SUR DEUX BYTES - REPRÉSENTATION BINAIRE
Visualisation binaire des deux bytes et du résultat obtenu en fonction de l'opérateur logique qui le...

{Python} XCHAT-PYTHON -- AUTO-OP
Auto-op Version 0.1 Ce script permet aux utilisateurs enregistrés de s'auto-oper sans que l'opera...

{Delphi} OPÉRATEURS BOOLÉENS - TABLE DE VÉRITÉ - ON S'AMUSE AVEC LES MATHÉMATIQUES ;-)
Cours de rattrapage pour ceux qui auraient fait l'impasse pendant les cours de maths, comme moi... ...