Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB4,VB5
Expertise: beginner
Jul 3, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

InstrRev - Backward Instr for VB4 and VB5

' A clone of VB6's InstrRev function (including its quirks)
' that works under VB4 and VB5

Function InstrRev(StringCheck As String, StringMatch As String, _
    Optional Start As Long = -1, Optional Compare As VbCompareMethod = _
    vbBinaryCompare) As Long

    Dim index As Long
    Dim lastIndex As Long
    If Start > Len(StringCheck) Then
        ' this is probably a quirk in VB6's InstrRev function: when
        ' start is higher than the source string length, the function
        ' returns zero
        Exit Function
    ElseIf Start < 0 Then
        ' if Start is omitted, last valid index is the end of string
        lastIndex = Len(StringCheck)
        ' else, we must account for the length of the searched string
        ' (this is the way VB6's InstrRev function works)
        lastIndex = Start + 1 - Len(StringMatch)
    End If
        index = InStr(index + 1, StringCheck, StringMatch, Compare)
        ' exit if not found, or if it's past the start index
        If index = 0 Or index > lastIndex Then Exit Do
        ' remember the index we've just found
        InstrRev = index
End Function
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date