Announcement

Collapse

Forum Guidelines

This forum is for finished source code that is working properly. If you have questions about this or any other source code, please post it in one of the Discussion Forums, not here.
See more
See less

dynamic - BYTE array/String Buffer - lite object

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • dynamic - BYTE array/String Buffer - lite object

    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


    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
    Attached Files
    stanthemanstan~gmail
    Dead Theory Walking
    Range Trie Tree
    HLib ~ Free Data Container Lib ~ Arrays, Lists, Stacks, Queues, Deques, Trees, Hashes
Working...
X