
     AA-Array.DLL manages the creation, accessing, saving to and
     restoring from disk (persistence) of extended arrays. The size of
     these extended arrays is only limited by the amount of virtual
     memory on your computer. Extended arrays have one column, hence
     are lists of elements. Extended arrays do  not have the normal
     Visual Basic (<32,767 elements and <64,000 bytes of string space)
     limits. Extended arrays can have any number of elements up to 4
     Gigs and use any amount of string space.

     Data types of an extended array element can be: Integer, Long,
     Single, Double, Currency, or String. In the registered version,
     array elements can be of User defined types. AA-Array optimizes
     access to and storage of sparse arrays (i.e. arrays that have many
     possible elements, but few element have anything in them).

     AA-ARRAY.DLL is distributed as Shareware. Try before you buy. If
     you continue using it, you are expected to register. See AA-
     ARRAY.HLP for information on the benefits of registering. See
     ORDER.TXT for information on how to register.

        AA-Software International
        12 ter Domaine Du Bois Joli
        06330 Roquefort-Les-Pins, France
        Tel: (+33) 93.77.50.47
        Fax: (+33) 93.77.19.78
        Internet: cswilly@acm.org
        CompuServe: 100343,2570
        X400:     (C=US; A=CompuServe; P=csmail; D=ID:100343,2570)


     To use a sort routine in AA-Array.DLL, first make sure the DLL can
     be found on the DOS path or is in the Windows or System directory.
     All the routines are as easy to use as the following example.

        'Make sure the file AA-ARRAY.DLL is in your DOS Path
        'Put the lines below in the declaration section of a form
        Declare Function AryOpenString Lib "AA-Array.dll" (
             ByVal aryName_s As String, ByVal mode As Integer,
             ByVal password_s As String) As Integer
        Declare Function AryClose Lib "AA-Array.dll" (
             ByVal ary_h As Integer) As Integer
        Declare Sub ArySetBounds Lib "AA-Array.dll" (
             ByVal ary_h As Integer, ByVal minElement As Long,
             ByVal maxElement As Long)
        Declare Sub AryGetBounds Lib "AA-Array.dll" (
             ByVal ary_h As Integer, minElement As Long, maxElement As
             Long)
        Declare Sub ArySetString Lib "AA-Array.dll" (
             ByVal ary_h As Integer, ByVal row_l As Long, value As String)
        Declare Sub AryGetString Lib "AA-Array.dll" (
             ByVal ary_h As Integer, ByVal row_l As Long, value As String)


        ' Put the following in the startup for a form

        'Create extended string array
        Dim strAry_h As Integer
        strAry_h = AryOpenString("c:\tstStr.ary",
             AryCreateNew + AryPersistent, "")
        If strAry_h < 0 Then
           Me.Print "Cannot create extended array."
           Me.Print "Error code is: "; strAry_h
           Exit Sub
        End If

        'Set the array's lower and upper bounds
        'Bounds can be from -2,147,483,648 to +2,147,483,647
        Const firstElement = 2147483547
        ArySetBounds strAry_h, firstElement, firstElement + 100

        'Set the odd elements.
        'Even are not set and do not use extra memory
        Dim dummyString As String
        dummyString = Space(1311)
        Dim i As Long
        For i = firstElement To firstElement + 100 Step 2
           ArySetString strAry_h, i, Str$(i) & dummyString
        Next i

        'Close the extended array and free up memory
        Dim retval As Integer
        retval = AryClose(strAry_h)
        If retval < 0 Then
           Me.Print "Cannot write extended array to disk."
           Me.Print "Error code is: "; strAry_h
           Exit Sub
        End If

        'Open extended string array
        strAry_h = AryOpenString("c:\tstStr.ary",
             AryUseExisting + AryPersistent, "")
        If strAry_h < 0 Then
           Me.Print "Cannot open extended array."
           Me.Print "Error code is: "; strAry_h
           Exit Sub
        End If

        'Get the array's lower and upper bounds
        Dim lowerBound As Long
        Dim upperBound As Long
        AryGetBounds strAry_h, lowerBound, upperBound
        Me.Print lowerBound, upperBound

        'Get the every element (even elements will be null strings)
        Dim retString As String
        For i = lowerBound To upperBound
           AryGetString strAry_h, i, retString
           Me.Print i, Trim$(retString)
        Next i

        'Close extended array and free up memory
        retval = AryClose(strAry_h)
        If retval < 0 Then
           Me.Print "Cannot write extended array to disk."
           Me.Print "Error code is: "; strAry_h
           Exit Sub
        End If
