From Xojo Documentation
Used to search for a value in an array. Returns the index of the array element that contains the matching value. Arrays are zero-based.
result = array.IndexOf(TargetValue [,StartingIndex])
|result||Integer||Index of the array element that contains the value TargetValue.
If no match is found, result is set to -1.
|array||Any valid data type||The array that you want to search.|
|TargetValue||Same type as array||The value in the array that you want to find. It must be of the same data type as the array. The IndexOf function is not case-sensitive, but it is encoding-sensitive.|
|StartingIndex||Integer||Optional. Array element to begin the search.
If omitted, the search starts at the first array element. If you specify an array element outside the range of elements in array, an OutOfBoundsException is raised.
IndexOf is not case-sensitive, but it is encoding-sensitive.
All arrays are indexed starting at position 0. Arrays can have a maximum index value of 2,147,483,646.
This example uses a ComboBox that has five items in its pop-up menu that have the names of the workdays of the week. The selected day is in its Text property. This example returns the index of the array element that matches the menu selection.
days() = Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday")
Var dayNumber As Integer
dayNumber = days.IndexOf(ComboBox1.Value)
If dayNumber = -1 Then
MessageBox("You didn't enter the name of any weekday.")
MessageBox("You entered day number " + Str(dayNumber))