Bonjour à tous,
Voila j'ai modifier le code principal du post pour avoir un résultat fonctionnel, en effet un not seul ne suffit pas car on inverse tous les bits. Voici donc la solution avec le not combiner à un masque logique
Code : Tout sélectionner
Global flag.b = #True
Debug "initialement = #True"
Debug "Valeur : "+Str(flag)
Debug "Binaire : "+LSet(Bin(flag),8,"0")
; on inverse : attention un not n'est pas suffisant
; car on inverserait tous les bits
; on va le combiner avec un masque logique
flag = $01 & ~ flag
Debug "On inverse à #False"
Debug "Valeur : "+Str(flag)
Debug "Binaire : "+LSet(Bin(flag),8,"0")
flag = $01 & ~ flag
Debug "On inverse à #True"
Debug "Valeur : "+Str(flag)
Debug "Binaire : "+LSet(Bin(flag),8,"0")
Même solution avec une macro
Code : Tout sélectionner
; Même solution mais avec une macro
Macro iv
$01 & ~
EndMacro
Global flag.b = #True
Debug "initialement = #True"
Debug "Valeur : "+Str(flag)
Debug "Binaire : "+LSet(Bin(flag),8,"0")
; on inverse : attention un not n'est pas suffisant
; car on inverserait tous les bits
; on va le combiner avec un masque logique
flag = iv flag
Debug "On inverse à #False"
Debug "Valeur : "+Str(flag)
Debug "Binaire : "+LSet(Bin(flag),8,"0")
flag = iv flag
Debug "On inverse à #True"
Debug "Valeur : "+Str(flag)
Debug "Binaire : "+LSet(Bin(flag),8,"0")