Dec 112017
 
Bit and Byte-wise operands for Visual Basic and other DLL capable Windows Products.
File BITS_DLL.ZIP from The Programmer’s Corner in
Category BASIC Language
Bit and Byte-wise operands for Visual Basic and other DLL capable Windows Products.
File Name File Size Zip Size Zip Type
BITS.DLL 10170 5106 deflated
BITS.TXT 5514 1660 deflated
DLLTEST.BAS 977 196 deflated
DLLTEST.FRM 1364 669 deflated
DLLTEST.MAK 56 46 deflated
README.TXT 5514 1660 deflated
TPCREAD.ME 199 165 deflated

Download File BITS_DLL.ZIP Here

Contents of the README.TXT file


Bits.DLL was created to add some much need bit and byte-wise operands
to my Visual Basic applications ... they weren't hard to write, but
they did involve an investment in some serious technology (including
Borland C++ 3.0 Professional, Visual Basic and assorted books).

So here's the poop. If you use these for your own personal, non-commercial
use ... it's freeware.

If you're incorporating these routines in a commercial product, be it
over-the-counter, mail-order, shareware etc ... it requires my written
perssion depending on the scope of the product (though I figure any
big-time operation is probably going to write their own) ... in most
cases it'll be a swap with the shareware author, or a very nominal fee.

If there is an interest in these, I'll expand them, and will create
other dynamic link libraries as well (e.g. string handlers, quick
sorts and other low-level nasties that take a bazillion lines of BASIC
to every one or two lines of C or C++).


Here's how you reach me :

Slow way :
Constantine Peters
14409 Briarwood Terrace
Rockville, MD 20853

Here's the fast way :
ENIAC MIDI BBS, Constantine Peters Sysop (convenient ain't it ?)
(301)460-9134, FidoNet/Node 109/440, 9600bps USR HST, 24hrs


Here are the current functions as of this release .....

------------------------- ByteHigh ---------------------------
Usage : Declare Function ByteHigh Lib "BITS.DLL" (ByVal e1%) As Integer
i% = ByteHigh(e1%)
Parameters : Integer e1%
Return Value: Integer - Most significant/High order bit of e1%
Comments :
See Also : ByteLow, BitShiftLeft


------------------------- ByteLow ---------------------------
Usage : Declare Function ByteLow Lib "BITS.DLL" (ByVal e1%) As Integer
i% = ByteLow(e1%)
Parameters : Integer e1%
Return Value: Integer - Least significant/Low order bit of e1%
Comments :
See Also : ByteHigh, BitOr


------------------------- BitPack ---------------------------
Usage : Declare Function BitPack Lib "BITS.DLL" (ByVal eHi%, ByVal eLo%) As Integer
i% = BitPack(eHi%, eLo%)
Parameters : Integer eHi% - High Order (Most Significant) Byte
Integer eLo% - Low Order (Least Significant) Byte
Return Value: Integer - combined or "packed" value of High & Lo order bytes
Comments : The term "Bit Packing" actually refers to packing two bytes
in most modern instances, however, this old term has stuck.
Don't let it confuse you, we're packing two bytes.
See Also : ByteHigh, BitLow


------------------------- BitAnd ---------------------------
Usage : Declare Function BitAnd Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer
i% = BitAnd(e1%, e2%)
Parameters : Integer e1% - exponent 1, number to AND
Integer e2% - mask, number to AND against e1%
Return Value: Integer - e2% AND masked against e1%
Comments : 1 AND 1 = 1 (true)
1 AND 0 = 0 (false)
0 AND 0 = 1 (true)
0 AND 1 = 0 (false)
I realize most true and false in BASIC is -1 for True
and 0 for False, but I will use this DLL in other
languages such as Actor 4.0
See Also : BitOr, BitXOr


------------------------- BitOr ---------------------------
Usage : Declare Function BitOr Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer
i% = BitOr(e1%, e2%)
Parameters : Integer e1% - exponent 1, number to Or
Integer e2% - mask, number to OR against e1%
Return Value: Integer - e2% OR masked against e1%
Comments : 1 OR 1 = 1 (true)
1 OR 0 = 0 (true)
0 OR 0 = 1 (false)
0 OR 1 = 0 (true)
I realize most true and false in BASIC is -1 for True
and 0 for False, but I will use this DLL in other
languages such as Actor 4.0
See Also : BitAnd, BitXOr


------------------------- BitXOr ---------------------------
Usage : Declare Function BitXOr Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer
i% = BitXOr(e1%, e2%)
Parameters : Integer e1% - exponent 1, number to XOR
Integer e2% - mask, number to XOR against e1%
Return Value: Integer - e2% XOR masked against e1%
Comments : 1 XOR 1 = 1 (false)
1 XOR 0 = 0 (false)
0 XOR 0 = 1 (true)
0 XOR 1 = 0 (false)
Treat XOR like "opposite day" in school, whatever is
true under OR is now false ("everything I'm telling you
is a lie" ... Harvey Mudd)
See Also : BitAnd, BitOr

------------------------- BitShiftLeft ---------------------------
Usage : Declare Function BitShiftLeft Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer
i% = BitShiftLeft(e1%, e2%)
Parameters : Integer e1% - exponent 1, number to shift
Integer e2% - amount to shift e1%
Return Value: Integer - e1% shifted by the amount of e2%
Comments : This is an excellent operation for FAST multiplication
and/or division !
See Also : ByteHigh, BitShiftRight


------------------------- BitShiftLeft ---------------------------
Usage : Declare Function BitShiftLeft Lib "BITS.DLL" (ByVal e1%, ByVal e2%) As Integer
i% = BitShiftLeft(e1%, e2%)
Parameters : Integer e1% - exponent 1, number to shift
Integer e2% - amount to shift e1%
Return Value: Integer - e1% shifted by the amount of e2%
Comments : This is an excellent operation for FAST multiplication
and/or division !
See Also : ByteHigh, BitShiftLeft




 December 11, 2017  Add comments

Leave a Reply