Une petite question sur cette ligne de code.
Je comprends l'api Windows il 'y a pas de souci à ce niveau là mais je ne comprends pas le :
Code : Tout sélectionner
& $1
cdt,
Atlante
Code : Tout sélectionner
& $1
Code : Tout sélectionner
Enumeration
#Mainform
#MenuPopUp
EndEnumeration
Global MainformStatus.b
Procedure ShowHideWindow(*Value)
Repeat
If GetAsyncKeyState_(#VK_F8) & $1
Debug "teste"
If MainformStatus = #False
HideWindow(#MainForm, #False)
MainformStatus = #True
Else
HideWindow(#Mainform, #True)
MainformStatus = #False
EndIf
EndIf
ForEver
EndProcedure
OpenWindow(#MainForm, 100, 150, 300, 100, "SysTray Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreatePopupMenu(#MenuPopUp)
MenuItem(0, "Afficher la fenetre")
MenuItem(1, "Quitter")
HideWindow(#Mainform, #True)
AddSysTrayIcon(1, WindowID(#Mainform), LoadIcon_(#Null, #IDI_WARNING))
SysTrayIconToolTip(1, "Touche F8" +#CRLF$+ "Pour afficher la fenetre")
CreateThread(@ShowHideWindow(), #Null)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 0
HideWindow(#Mainform, #False)
Case 1
End
EndSelect
Case #PB_Event_SysTray
If EventType() = #PB_EventType_LeftDoubleClick
HideWindow(#Mainform, #False)
EndIf
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(#MenuPopUp, WindowID(#Mainform))
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Code : Tout sélectionner
a$="1001"
debug a$
debug %1001&%01 ; ici on affiche que le "1" de fin... on a masqué tout le reste
debug bin(%1001&%1110) ; ici on affiche que le 1 du debut ..
; en clair on n'affiche que si c'est pareil que le masque ;)
;rappel :
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
oui , mais le signe % au debut d'un chiffre binaire sert aussi a désigner ce chiffre comme etant Binaire !Atlante a écrit :Tu as mis le doigt sur le problème dobro.
Je pense que j'ai une grosse lacune sur ce point là.
%1001&01 affiche que le 1 je pige à moitié car le second cas ne fonctionne pas avec mon raisonnement.
Déjà %1001 c'est le modulo sous PB ?
tout a fait !
ensuite le masque 01 correspond bien à 0001 ?
oui , je me suis gourré dans la syntaxe , j'aurai du ecrire :Donc :
1001
0001
-----
0001
Mais pour le deuxième exemple cela ne fonctionne pas :
1001
0110
------
0000
Si tu pouvais m'apporter la lumière sur ce point ^^?
cdt,
Atlante
Code : Tout sélectionner
a$="1001"
debug a$
debug %1001&%01 ; ici on affiche que le "1" de fin... on a masqué tout le reste
debug bin(%1001&%1110) ; ici on affiche que le 1 du debut ..
; en clair on n'affiche que si c'est pareil que le masque ;)
oui , mais l'utilisation du caractere "|" fait confusion !! il est plus clair d'afficherGallyHC a écrit :Bonjour,
Dobro> Je vois pas le problème dans la doc de PB, moi j'ai :
LHS | RHS |Résultat
------------------
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1
Ce qui me parait en réalité correcte? et dans ton exemple tu mets les même valeur ?
Cordialement,
GallyHC
Code : Tout sélectionner
Debug $100
Dobro a écrit : oui , mais le signe % au debut d'un chiffre binaire sert aussi a désigner ce chiffre comme etant Binaire !
ceci est un modulo : 10%5
ceci est un chiffre binaire %1001
tout comme "$" designe un chiffre hexa = $FF
Tu ne vas quand même pas suspecter qu'atlante est aussi un technicien informatique à la Defense tout comme Psychopathe ? Si c'était vrai ça serait vraiment incroyableDobro a écrit :(tiens c'est marrant que vous soyez né le meme jour)