marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011
-
22 août 2008 à 18:57
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
23 août 2008 à 21:43
Bonjour,
sachant que idVendor:0x0256 = &H256
idProduct:0x0789 = &H789
A votre avis que me donne ??? :
idVendor:0xFFFF
idProduct:0xFFFF
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 23 août 2008 à 19:43
Je ne sais pas ce que tu fais exactement dans ton code, mais je présume que tu veux faire, à moment donné, un test sur l'id du périphérique connecté pour savoir s'il correspond à l'un des trois cas attendus.
Dans ce cas il te faudra faire 3 tests pour tester l'id avec chacun des cas. Un truc du genre :
If VID=VendorID1 and PID=ProductID1 Then
....
Else If VID=VendorID2 and PID=ProductID2 then
...
Else If VID=VendorID3 and PID=ProductID3 then
...
Else
Msgbox "Pas le bon périf"
End If
marty14
Messages postés104Date d'inscriptionlundi 21 août 2006StatutMembreDernière intervention29 mai 2011 22 août 2008 à 19:40
les : sont des indications USB rien d'important en fait il sagit d'une convertion a effectuer 0x0 = &H en VB donc je cherche a savoir ce que me donne
0xF
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 22 août 2008 à 21:38
Je ne saurais pas te dire dans le cas présent, il faudrait faire des essais (ha que c'est de plus en plus loin VB6 )
C'est parfois nécessaire pour préciser le type de la constante, je ne sais plus si c'est avec des Long ou des doubles quand tu veux affecter des constantes à une variable car sinon VB6 te jette une erreur car sans indication, la constante prend un type par défaut qui peut ne pas correspondre au type de la variable.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 23 août 2008 à 00:16
Bonsoir,
Alors que moi, j'ai jamais vraiment même pas essayer de bien maitriser
En tout cas, j' ai fait un test.
ça n' a peut être rien à voir, mais voilà:
Dans la page propriété d' un co ntrol, j' ai copié la valeur BackColor
(Blanc) = &H00FFFFFF&
et je l' ai collé dans le module d' un form.
En passant à la ligne (Enter) ma valeur devient 16777215
J' ai refait la même chose sur une autre ligne mais j' ai tapé
Const D =&H00FFFFFF&
Retour à la ligne et ça devient
Const D = &HFFFFFF
Surtout n' essayer pas de m' expliquer, je sais déjà que je ne comprenderais rien.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 23 août 2008 à 00:53
^^
la couleur est un faux long.
en fait c'est un vrai LONG si , mais 'formaté', de type OLE_COLOR
après le "&H", les 0 ne sont pas comptabilisés
&H0000FF (ou &H0000FF&) devient &HFF
et l'IDE convertit seul l'hexa vers décimal (si ce n'est pas une commande) car il le prend comme un numéro de ligne, donc décimal
en effet toutes les lignes de code DANS une procédure peuvent être numérotées
exemple, avec explication (j'espère)
Option Explicit
Private Sub Form_Load()
10 Dim i As Integer
20 i = Test1
30 i = Test2
40 Unload Me
End Sub
Private Function Test1() As Integer
10 On Error Resume Next
20 Dim i As Integer
30 i = 27
40 Test1 = i / 3
50 If Err.Number Then MsgBox Err.Description, , "Erreur à la ligne " & Erl()
End Function
Private Function Test2() As Integer
10 On Error Resume Next
20 Dim i As Integer
30 i = 27
40 Test2 = i / 0 'division par 0
50 If Err.Number Then MsgBox Err.Description, , "Erreur à la ligne
" & Erl() '<- notre
numérotation
End Function
donc en tapant &HFF directement, l'IDE transforme en cette fameuse numérotation qui nous sert le plus souvent pour les erreurs
NB
cette numérotation n'a pas de règle particulière, juste pas 2 fois le même nombre dans une même procédure.
néanmoins (plus ou moins par convention) :
*en général on numérote de 10 en 10
*une SUB ou FUNCTION ne peut pas commencer par un numéro, contrairement au END (sub/function). de ce principe on ne le numérote pas (le end)
*en général on essaye de tout numéroter sans doublon sur toute une feuille de code (contrairement à mon exemple), mais c'est ingérable..
*les numéros peuvent également être directement utilisés comme étiquette :
10 On Error GoTo 60
* on ne numérote jamais "0", pour éviter toute confusion avec la gestion :
10 On Error GoTo 0
bon avec l'exemple çà mérite peut-être une 2e relecture mais sinon c'est pas si compliqué au final ^^
simple conversion de l'IDE dans le but de numéroter
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 23 août 2008 à 01:19
j' aprécie
çà mérite peut-être même plusieurs relectures,
mais au final on ne peut que s' enrichir.
Une bonne explication, c' est toujours bon à prendre.
En tout cas elle m' a permis d' être moins c.. qu' il y' a tout juste moins d' une demi-heure
Merci.
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.