Find and FindUp (Stringlist functions)
Find next/previous Stringlist item that exactly matches a string (Stringlist class)
Both these methods locate a Stringlist item that exactly matches a specified string. The difference between Find and FindUp is the direction of the search: Find searches from the starting point in ascending item number order, while FindUp searches in descending item number order.
Both Find and FindUp return the item number of the Stringlist item that matches the input string, or they return an error code.
Syntax
%number = sl:Find( string, [startItem])
%number = sl:FindUp( string, [startItem])
Syntax terms
%number | A numeric variable that is set to the number of the first item in the Stringlist that matches the search string, or it is set to 0 if the string is not found. |
---|---|
sl | A Stringlist object. |
string | The string to be matched. This is a required argument. |
startitem | A number that indicates the item number at which the search is to begin. If this argument is not specified, searching begins at the first item in the Stringlist for Find, and at the last item for FindUp. Not specifying the starting item number is subtly different from specifying a starting item number of 1 -- the latter is an error if the Stringlist is empty, while the former simply returns a 0. |
Usage notes
- A return code of 0 from Find or FindUp indicates that the string was not found. All other errors result in request cancellation.
- The difference between Find/FindUp and the Locate and LocateUp is that when Find or FindUp are used, a Stringlist item must match the search string exactly rather than simply contain the search string. Moreover, Find and FindUp do not allow specification of a range of columns (or positions) that are to be searched.
- The FindUp method is available in Sirius Mods Version 6.9 and later.