dynamic BYTE array lite object (not OOP object)
dynamic string lite object
ReDim automatic
ONE based index
array referenced with LONG handle
StrBuff and BArr handles interchangeable
array may be stored/restored to string
DLL in zip file
dynamic string lite object
ReDim automatic
ONE based index
array referenced with LONG handle
StrBuff and BArr handles interchangeable
array may be stored/restored to string
DLL in zip file
Code:
'pbcc 5, pbwin 9 (pb 4/8 ok) 'dynamic BYTE array lite object (not OOP object) ' ReDim automatic ' ONE based index ' 'array referenced with LONG handle ' StrBuff and BArr handles interchangeable ' 'array may be stored/restored to string ' Declare Function BArr_Alloc Lib "BArr_DLL-1.dll" () As Long 'create new array object 'return handle ' null if fail Declare Sub BArr_Free Lib "BArr_DLL-1.dll" (ByVal arr As Long) 'close array object 'free resources Declare Sub BArr_Clear Lib "BArr_DLL-1.dll" (ByVal arr As Long) 'delete all data Declare Function BArr_Count Lib "BArr_DLL-1.dll" (ByVal arr As Long) As Long 'get stored element count Declare Sub BArr_ReDim Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal Count As Long) 'ReDim array - data preserved Declare Sub BArr_Add Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal item As Byte) 'append item 'redim automatic Declare Sub BArr_Insert Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal index As Long, ByVal item As Byte) 'insert item at index 'redim automatic ' if index > array then item appended Declare Sub BArr_Delete Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal index As Long) 'delete array element at index 'redim automatic Declare Sub BArr_Set Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal index As Long, ByVal item As Byte) 'store item at index Declare Function BArr_Get Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal index As Long) As Byte 'get item at index Declare Function BArr_BinFind Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal item As Byte) As Long 'binary search for "item" ' return index if found ' -1 if not found Declare Function BArr_BinFindPosition Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal item As Byte) As Long 'binary search for the position where "item" is, or should be Declare Function BArr_BinInsert Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByVal item As Byte) As Long 'binary insert item ' array must sorted 'return index ' -1 if fail Declare Sub BArr_BinSort Lib "BArr_DLL-1.dll" (ByVal arr As Long) 'sort array ' (slow sort) Declare Function BArr_Store Lib "BArr_DLL-1.dll" (ByVal arr As Long) As String 'store array in string Declare Function BArr_StoreValidate Lib "BArr_DLL-1.dll" (ByRef storedArr As String) As Long 'validate storage string ' string has front and back DWord validation hash cookies Declare Sub BArr_Restore Lib "BArr_DLL-1.dll" (ByVal arr As Long, ByRef storedArr As String) 'restore array from string made with: BArr_Store() ' current contents of array will be lost 'dynamic string lite object ' StrBuff and BArr handles interchangeable ' indexes ONE based Declare Function StrBuff_Alloc Lib "BArr_DLL-1.dll" () As Long 'allocate new lite object Declare Function StrBuff_AllocSet Lib "BArr_DLL-1.dll" (ByRef s As String) As Long 'allocate new instance 'set string ' return handle Declare Sub StrBuff_Free Lib "BArr_DLL-1.dll" (ByVal str As Long) 'free lite obj Declare Sub StrBuff_Clear Lib "BArr_DLL-1.dll" (ByVal str As Long) 'null string Declare Sub StrBuff_Set Lib "BArr_DLL-1.dll" (ByVal str As Long, ByVal s As String) 'set string Declare Function StrBuff_Get Lib "BArr_DLL-1.dll" (ByVal str As Long) As String 'get string Declare Function StrBuff_Len Lib "BArr_DLL-1.dll" (ByVal str As Long) As Long 'get array as string Declare Function StrBuff_Compare Lib "BArr_DLL-1.dll" (ByVal strA As Long, ByVal strB As Long) As Long 'compare two Byte arrays as strings - case sensitive ' <0 : strA < strB ' =0 : strA = strB ' >0 : strA > strB Declare Function StrBuff_CompareNoCase Lib "BArr_DLL-1.dll" (ByVal strA As Long, ByVal strB As Long) As Long 'compare two Byte arrays as strings - case insensitive ' <0 : strA < strB ' =0 : strA = strB ' >0 : strA > strB Declare Function StrBuff_CompareStr Lib "BArr_DLL-1.dll" (ByRef s As String, ByVal str As Long) As Long 'compare string to byte array - case sensitive ' <0 : s < str ' =0 : s = str ' >0 : s > str Declare Function StrBuff_CompareStrNoCase Lib "BArr_DLL-1.dll" (ByRef s As String, ByVal str As Long) As Long 'compare string to byte array - case insensitive ' <0 : s < str ' =0 : s = str ' >0 : s > str Declare Function StrBuff_Hash Lib "BArr_DLL-1.dll" (ByVal str As Long, ByVal totalSlots As Long) As Long 'get stored string's hash ' for use with ONE based index 'use case 'thanks to Paul Squires Declare Function StrBuff_HashNoCase Lib "BArr_DLL-1.dll" (ByVal str As Long, ByVal totalSlots As Long) As Long 'get stored string's hash ' for use with ONE based index 'ignore case 'thanks to Paul Squires Declare Function StrBuff_Store Lib "BArr_DLL-1.dll" (ByVal str As Long) As String 'store string in wrapper container compatible with BArr stored arrays Declare Function StrBuff_StoreValidate Lib "BArr_DLL-1.dll" (ByRef storedStr As String) As Long 'validate storage string ' string has front and back DWord validation hash cookies Declare Sub StrBuff_Restore Lib "BArr_DLL-1.dll" (ByVal str As Long, ByRef storedStr As String) 'restore array from string made with: StrBuff_Store() ' current contents of array will be lost