Wow!
I want to look at and try your other suggestions as well, because if nothing else, I'll learn something useful for later.
THANK YOU very much everyone for helping me learn how to do this.
My one quick question - is there a line continuation character in Oshonsoft? I think I looked EVERYWHERE.
Another package I used to use allowed _ to be used as a line continuation but it didn't seem to work for me here.
This is what I came up with - I did 8 to 16 and 16 to 30 bit Hex to ASCII conversion Functions:
'FUNCTIONS - FUNCTIONS - FUNCTIONS - FUNCTIONS - FUNCTIONS
'=========================================================
'Function h8to16a
'Input hex2 Two Hex Characters total 8 Bit BYTE
'Output h8to16a Two ASCII Characters total 16 Bit WORD
'=========================================================
Function h8to16a(hex2 As Byte) As Word 'Define Function
Dim tmp As Byte 'Temporary Storage for High/Low Hex Digit
tmp = hex2 Mod 16 'Extract Lower Hex Digit
h8to16a.HB = LookUp("0123456789ABCDEF"), tmp 'Convert to ascii & Store Upper
tmp = hex2 / 16 'Extract Upper Hex Digit
h8to16a.LB = LookUp("0123456789ABCDEF"), tmp 'Convert to ascii & Store Lower
End Function
'=========================================================
'Function h16to32a
'Input hex4 Four Hex Characters total 16 Bit WORD
'Output h8to16a Four ASCII Characters total 32 Bit LONG
'=========================================================
Function h16to32a(hex4 As Word) As Long 'Define Function
Dim txp1 As Byte 'Temporary Storage for the Hex Digits
Dim txp As Byte 'Root Temporary Storage for the Hex Digits
txp1 = hex4.LB 'Get Bottom 8 Bits-------------------
txp = txp1 Mod 16 'Extract Lower Hex Digit
h16to32a.4B = LookUp("0123456789ABCDEF"), txp 'Convert to ascii & Store Lower
txp = txp1 / 16 'Extract Upper Hex Digit
h16to32a.3B = LookUp("0123456789ABCDEF"), txp 'Convert to ascii & Store Lower
txp1 = hex4.HB 'Get Upper 8 Bits---------------------
txp = txp1 Mod 16 'Extract Lower Hex Digit
h16to32a.HB = LookUp("0123456789ABCDEF"), txp 'Convert to ascii & Store Lower
txp = txp1 / 16 'Extract Upper Hex Digit
h16to32a.LB = LookUp("0123456789ABCDEF"), txp 'Convert to ascii & Store Lower
End Function
Merry Christmas everyone............Mike