Masquage et long...

cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016 - 12 nov. 2003 à 17:54
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016 - 13 nov. 2003 à 08:32
Bonjour voilà mon probleme :
j'ai un long (decimal) que je ve decomposer en 4 octets
par exemple 123456 ferai en hexa :
1E240 donc 00 01 E2 40
ma solution:

dim values(4) as byte
dim ret_long as byte

values(0) = ret_long And &HFF
values(1) = (ret_long / 2 ^ 8) And &HFF
values(2) = (ret_long / 2 ^ 16) And &HFF
values(3) = (ret_long / 2 ^ 32) And &HFF

avec mon exemple 123456 je n'obtien pas ce qu'il fo dans values(2) et je ne comprend aps pkoi??!!! :\

si quelqu'un a un eclair de geni ;-)
Merci

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 nov. 2003 à 18:27
values(2) = (ret_long / 2 ^ 16) devrait donner 1,8837890625, je pense que VB t'aura fait un arrondi donc 2.

BruNews, ciao...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 nov. 2003 à 06:55
Une copie de memoire irait.....

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Sub Form_Load()
    Dim Bytes(3) As Byte
    LongToBytes 123456, Bytes
    Debug.Print Hex$(Bytes(3)); " "; Hex$(Bytes(2)); " "; Hex$(Bytes(1)); " "; Hex$(Bytes(0))
    End
End Sub

Public Sub LongToBytes(ByVal Lng As Long, ByRef Bytes() As Byte)
    CopyMemory Bytes(0), Lng, 4
End Sub


Attention, ca t'inverse les bits....

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016
13 nov. 2003 à 08:32
decidemment renfield tu me sauves la vie a chaque coup merci bcp
j'essai ça ...
0
Rejoignez-nous