Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD] Conversion VB -> WinDev

5 réponses
Avatar
JeAn-PhI
bonjour

je n'arrive pas à traduire le code ci-dessous du VB vers WinDev une
aide serait la bienvenue

Private Function CTL_CODE( _
ByVal DeviceType As Integer, _
ByVal Func As Integer, _
ByVal Method As Integer, _
ByVal Access As Integer) As Integer

Return (DeviceType << 16) Or (Access << 14) Or (Func << 2) Or
Method

End Function

en fait c'est surtout la ligne suivante que je ne sais pas convertir :

Return (DeviceType << 16) Or (Access << 14) Or (Func << 2) Or Method

merci

--
Cordialement JeAn-PhI

5 réponses

Avatar
Romain PETIT
JeAn-PhI a formulé ce lundi :

Return (DeviceType << 16) Or (Access << 14) Or (Func << 2) Or Method

merci



OR = OuBinaire
<< = 1 décalage à gauche des bits (c'est à dire multiplier par 2 et
perdre le bit de poids fort)
Donc << n = n décalages, donc revient à multiplier par 2^n


A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
JeAn-PhI
Après mûre réflexion, Romain PETIT a écrit :
JeAn-PhI a formulé ce lundi :

Return (DeviceType << 16) Or (Access << 14) Or (Func << 2) Or Method

merci



OR = OuBinaire
<< = 1 décalage à gauche des bits (c'est à dire multiplier par 2 et perdre le
bit de poids fort)
Donc << n = n décalages, donc revient à multiplier par 2^n


A+



donc je dois faire :

renvoyer (DeviceType*2^16) ou (Access*2^14) ou (Func*2^2) Or Method

--
Cordialement JeAn-PhI
Avatar
Eric
>> JeAn-PhI a formulé ce lundi :



donc je dois faire :

renvoyer (DeviceType*2^16) ou (Access*2^14) ou (Func*2^2) Or Method



Bonjour,

Il faut utiliser la fonction OUBinaire qui effectu le OU logique en bit
à bit.

a+
Eric
Avatar
JeAn-PhI
Eric avait soumis l'idée :
JeAn-PhI a formulé ce lundi :



donc je dois faire :

renvoyer (DeviceType*2^16) ou (Access*2^14) ou (Func*2^2) Or Method



Bonjour,

Il faut utiliser la fonction OUBinaire qui effectu le OU logique en bit à
bit.

a+
Eric



donc je fais :

renvoyer
OUBinaire(OUBinaire(OUBinaire((DeviceType*2^16),(Access*2^14)),(Func*2^2)),Method)

--
Cordialement JeAn-PhI
Avatar
Eric
JeAn-PhI avait soumis l'idée :
Eric avait soumis l'idée :
JeAn-PhI a formulé ce lundi :



donc je dois faire :

renvoyer (DeviceType*2^16) ou (Access*2^14) ou (Func*2^2) Or Method



Bonjour,

Il faut utiliser la fonction OUBinaire qui effectu le OU logique en bit à
bit.

a+
Eric



donc je fais :

renvoyer
OUBinaire(OUBinaire(OUBinaire((DeviceType*2^16),(Access*2^14)),(Func*2^2)),Method)



oui, c'est ça.