Function VB5_Split(TheString, Optional Delim, Optional Limit As Long = -1, Optional ignored) As Variant
'FROM PSC. - Duplicates the functionality of the vb6 counterpart.
'Unfortunately, I was unable to include the vbcompare part _
of the vb6 funtionality.
'Just use Option Campare at the beggining of this module.
Dim dynArray() As Variant
If Not (IsNull(TheString)) And Len(Delim) > 0 Then
Dim ArrCt%
Dim CurPos%
Dim LenAssigned%
Dim CurStrLen%
ArrCt% = 0
CurPos% = 1
LenAssigned% = 1
CurStrLen% = Len(TheString)
Do
ReDim Preserve dynArray(0 To ArrCt%)
CurStrLen% = (InStr(CurPos%, TheString, Delim) - CurPos%)
If CurStrLen% < 0 Then
dynArray(ArrCt%) = Right$(TheString, (Len(TheString) - (LenAssigned% - 1)))
Exit Do
Else
dynArray(ArrCt%) = Mid$(TheString, CurPos%, CurStrLen%)
End If
LenAssigned% = LenAssigned% + (Len(dynArray(ArrCt%)) + Len(Delim))
CurPos% = LenAssigned%
ArrCt% = ArrCt% + 1
If Not Limit = -1 Then
If ArrCt = Limit Then Exit Do
End If
Loop
VB5_Split = dynArray
Else
'duplicate the functionality more acuratley
ReDim dynArray(0 To 0)
dynArray(0) = TheString
VB5_Split = dynArray
End If
End Function