[Résolu] Tester une valeur dans une combinaison de constante

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[Résolu] Tester une valeur dans une combinaison de constante

Message par falsam »

Code : Tout sélectionner

key = #PB_Key_LeftControl | #PB_Key_C
Comment savoir si #PB_Key_LeftControl fait partie de la combinaison de constantes ?

Il me semble que j'ai su le faire avec une seule ligne de code mais incapable de m'en souvenir.

Merci de votre aide
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Tester une valeur dans une combinaison de constante

Message par Ar-S »

#PB_Key_LeftControl fait partie des commandes claviers de PB donc en "Combinaison de constante ?"
Je ne comprends pas trop ta question j'avoue.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
zaphod_b
Messages : 76
Inscription : mar. 09/déc./2014 20:02

Re: Tester une valeur dans une combinaison de constante

Message par zaphod_b »

Code : Tout sélectionner

key = #PB_Key_LeftControl | #PB_Key_C

debug bool((key&#pb_key_c)=#pb_key_c)

donne 1 si #pb_key_c est dans key et 0 pour autre valeur.
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Tester une valeur dans une combinaison de constante

Message par Ollivier »

Même algo que Zaphod, mais pour la bonne cible :

Code : Tout sélectionner

key = #PB_Key_LeftControl | #PB_Key_C

X = Bool((Key & #PB_Key_LeftControl) = #PB_Key_LeftControl)
Donne 1 si présence
Donne 0 si absence.

Algos moins souple :

Code : Tout sélectionner

Y = (Key & #PB_Key_LeftControl) - #PB_Key_LeftControl
Donne 0 si présence
Donne différent de 0 si absence

Algos encore moins souple :
Si #PB_Key_LeftControl ne fait qu'un bit ou bien
si aucun bit de #PB_Key_LeftControl n'est utilisé par une autre constante :

Code : Tout sélectionner

Z = (Key ! #PB_Key_LeftControl) - Key
Donne 0 si absence
Donne différent de 0 si présence
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Tester une valeur dans une combinaison de constante

Message par falsam »

Merci à vous deux. C'est ce que je voulais comme résultat ;)

Sujet résolu
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre