IndexText
IndexText is a case insensitive function, that determines if any of the strings that are contained in the array AValues match the string specified by AText.
The function returns a zero-based index response where the first match in the array is number zero (0), the second match one (1) etc., and returns minus one (-1) if no match is found.
This function does not take case into account.
Declaration: Function IndexText(const AText : string; const AValues : array of string) : Integer;
Examples follow using a simple array, showing the case sensitivity.
procedure
ScriptEvent(
var
Value:Variant);
var
Str1, Str2, Str3 :
string
;
Int1, Int2, Int3 :
integer
;
begin
Str1 :=
'Ken'
;
Str2 :=
'ken'
;
Str3 :=
'simone'
;
Int1 := IndexText(Str2, [
'joe'
,
'ken'
,
'fred'
,
'josh'
,
'simon'
]);
LogInfo(Str2+
' is in position # '
+IntToStr(Int1));
If
Int1 = -
1
then
//Matches ken to ken
LogInfo(
'The string is not present.'
)
else
LogInfo(
'The string is present.'
);
Int2 := IndexText(Str1, [
'joe'
,
'ken'
,
'fred'
,
'josh'
,
'simon'
]);
LogInfo(Str1+
' is in position # '
+IntToStr(Int2));
If
Int2 = -
1
then
//Matches Ken to ken
LogInfo(
'The string is not present.'
)
else
LogInfo(
'The string is present.'
);
Int3 := IndexText(Str3, [
'joe'
,
'ken'
,
'fred'
,
'josh'
,
'simon'
]);
LogInfo(Str3+
' is in position # '
+IntToStr(Int3));
If
Int3 = -
1
then
//Does not match simone to any value in the array
LogInfo(
'The string is not present.'
)
else
LogInfo(
'The string is present.'
);
end
;
This code writes to the log as illustrated below.

For a function performing the same role that is case sensitive, please review IndexStr.