62 lines
1.7 KiB
Plaintext
62 lines
1.7 KiB
Plaintext
' FB 1.05.0 Win64
|
|
' Works FB 1.05.0 Linux Mint 64
|
|
|
|
Function tryFindString(s() As String, search As String, ByRef index As Integer) As Boolean
|
|
Dim length As Integer = UBound(s) - LBound(s) + 1
|
|
If length = 0 Then
|
|
index = LBound(s) - 1 '' outside array
|
|
Return False
|
|
End If
|
|
For i As Integer = LBound(s) To UBound(s)
|
|
If s(i) = search Then
|
|
index = i '' first occurrence
|
|
Return True
|
|
End If
|
|
Next
|
|
index = LBound(s) - 1 '' outside array
|
|
Return False
|
|
End Function
|
|
|
|
Function tryFindLastString(s() As String, search As String, ByRef index As Integer) As Boolean
|
|
Dim length As Integer = UBound(s) - LBound(s) + 1
|
|
If length = 0 Then
|
|
index = LBound(s) - 1 '' outside array
|
|
Return False
|
|
End If
|
|
Dim maxIndex As Integer = LBound(s) - 1 '' outside array
|
|
For i As Integer = LBound(s) To UBound(s)
|
|
If s(i) = search Then
|
|
maxIndex = i
|
|
End If
|
|
Next
|
|
If maxIndex > LBound(s) - 1 Then
|
|
index = maxIndex '' last occurrence
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
Dim haystack(1 To 9) As String = {"Zig", "Zag", "Wally", "Ronald", "Bush", "Krusty", "Charlie", "Bush", "Bozo"}
|
|
Dim needle(1 To 4) As String = {"Zag", "Krusty", "Washington", "Bush"}
|
|
|
|
Dim As Integer index
|
|
Dim As Boolean found
|
|
For i As Integer = 1 To 4
|
|
found = tryFindString(haystack(), needle(i), index)
|
|
If found Then
|
|
Print needle(i); " found first at index"; index
|
|
Else
|
|
Print needle(i); " is not present"
|
|
End If
|
|
Next
|
|
found = tryFindLastString(haystack(), needle(4), index)
|
|
If found Then
|
|
Print needle(4); " found last at index"; index
|
|
Else
|
|
Print needle(4); " is not present"
|
|
End If
|
|
Print
|
|
Print "Press any key to quit"
|
|
Sleep
|