Lasse Madsen skrev:
 > Hvordan møblere jeg en 24 bit variabel ud i 3 bytes f.eks.
 > 
 > 0xFFFFFF = 0xFF, 0xFF, 0xFF osv...
 > 
 > I dag dividere jeg men det er noget lort ... der må være en >>
 > operator i VB ?
 
 Definer "lort" i forbindelse med heltalsdivisioner...
 
 Der er desværre ingen smarte bit-skifte operationer i VB <= 6.0, så du må 
 enten gå heltalsdivisionsvejen, som du formentlig allerede bruger, eller 
 også må du ty til at kopiere et antal bytes hukommelse fra én variabel 
 til en anden.
 
 Her er et eksempel på hver metode:
 
 
 Option Explicit
 
 Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
         (pDest As Any, pSource As Any, ByVal ByteLen As Long)
 
 Private Type TSplit
   A As Byte
   B As Byte
   C As Byte
   D As Byte
 End Type
 
 Private ManyBits  As Long
 Private Split1    As TSplit
 Private Split2    As TSplit
 
 Private Sub Form_Load()
   'Tallet som skal splittes op
   ManyBits = &H11223344
   Debug.Print Hex(ManyBits)
   
   'Første metode - kopier 4 bytes
   CopyMemory Split1, ManyBits, 4
   Debug.Print Hex(Split1.A), Hex(Split1.B), Hex(Split1.C), Hex(Split1.D)
   
   'Anden metode - heltalsdivision
   Split2.A = ManyBits And &HFF
   ManyBits = ManyBits \ &H100
   Split2.B = ManyBits And &HFF
   ManyBits = ManyBits \ &H100
   Split2.C = ManyBits And &HFF
   Split2.D = ManyBits \ &H100
   Debug.Print Hex(Split2.A), Hex(Split2.B), Hex(Split2.C), Hex(Split2.D)
 End Sub
 
 
 -------
 Tomas
  
            
             |