' ------------------------------------------------------------------------' The CBITARRAY class'' simiulates an array of Boolean values' saves memory by packing one element in one bit'' IMPORTANT: you make make ITEM the default member for this class' do this from inside the Tools | Procedure Attributes dialog box'' Usage:' Dim bitArr As New CBitArray' bitArr.Init(10000) ' 10,000 boolean elements' ' assign a value' bitArr(10) = True' ' read it back' Print bitArr(10)'' ------------------------------------------------------------------------Option ExplicitDim mask(0 To 7) As IntegerDim values() As BytePublic Sub Init(ByVal numEls As Long) ' redimension the internal array ' MUST BE THE FIRST METHOD CALLED FOR THIS CLASS ReDim values(numEls 8) As ByteEnd SubPrivate Sub Class_Initialize() ' initialize the mask() array Dim i As Integer mask(0) = 1 For i = 1 To 7 mask(i) = mask(i - 1) * 2 NextEnd Sub' for smoother syntax, you should make ITEM the default member for this classProperty Get Item(ByVal index As Long) As Boolean ' retrieve an array item Item = values(index 8) And mask(index And 7)End PropertyProperty Let Item(ByVal index As Long, ByVal new_Item As Boolean) Dim ndx As Long, m As Byte ' cache the mask into a local variable m = mask(index And 7) ndx = index 8 ' set or reset only the relevant bit values(ndx) = (values(ndx) And Not m) Or (new_Item And m)End Property


Westinghouse Builds Polish Power Plant
Westinghouse Electric Company and Bechtel have come together to establish a formal partnership in order to design and construct Poland’s inaugural nuclear power plant at