MyChat Scripts: функция TStringList.IndexOf, найти индекс строки по точному совпадению
"Для разработчиков", "Серверные скрипты", "Описание функций", "Строки", "TStringList", "Методы", "IndexOf".
Найти индекс строки в списке по точному совпадению. Регистр букв имеет значение.
Синтаксис
function TStringList.IndexOf(s: string): integer;
Параметры и возвращаемые значения
| 
    Параметр  | 
  
    Тип  | 
  
    Значение  | 
 
| 
    s  | 
  
    string  | 
  
    искомая строка для поиска.  | 
 
Результат функции
Индекс найденной строки. Если -1 — искомая строка не найдена в списке.
Пример
var
  SL: TStringList;
  i, x, iID: integer;
begin
  SL := TStringList.Create;
  SL.Sorted := true;
  
    for i := 1 to 20 do
      SL.Add(IntToStr(i));
  
  mLogScript(SL.CommaText, 'Sorted by alphabet');
  
    for i := 1 to 5 do begin
      x := random(20);
      iID := SL.IndexOf(IntToStr(x));
      
        if iID <> -1 then mLogScript('position of "' + SL[iID] + '" value is ' + IntToStr(iID), '');
    end;
    
  SL.Free;  
end.
Результат работы скрипта
[14:55:01] (Log "IndexOfMethod"): [Sorted by alphabet] 1,10,11,12,13,14,15,16,17,18,19,2,20,3,4,5,6,7,8,9
[14:55:01] (Log "IndexOfMethod"): position of "10" value is 1
[14:55:01] (Log "IndexOfMethod"): position of "3" value is 13
[14:55:01] (Log "IndexOfMethod"): position of "15" value is 6
[14:55:01] (Log "IndexOfMethod"): position of "3" value is 13
[14:55:01] (Log "IndexOfMethod"): position of "12" value is 3
[14:55:01] (Run "IndexOfMethod"): Время выполнения скрипта: 5 мс
[14:55:01] (Run "IndexOfMethod"): Скрипт выполнен успешно.