Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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
        ' 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
    
    Do
        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
    Loop
    
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


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

 

 

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