Pascal 7 & Objects


         

FirstThat


-----------------------------------------------------------------

function FirstThat(Test: рointer): рointer;

FirstThat применяет к каждому элементу в наборе булевскую функцию, заданную указателем функции Test, пока Test не возвратит значение True. Результатом будет указатель элемента, для которого Test возвратила True, или nil, если функция Test возвращает для всех элементов значение False. Параметр Test должен указывать на локальную функцию far, воспринимающую один параметр типа рointer и возвращающей значение Boolean. Например:

function Mathes(Item: рointer): Boolean; far;

Функция Test не может быть глобальной функцией.

В предположении, что List - это TCollection, оператор

р := List.FirstThet(@Mathes);

соответствует следующему:

I := 0; while (I < List.Count) and not Mathes(List.At(I) do Int(I); if I < List.Count then р := List.At(I) else р := nil;



Содержание  Назад  Вперед