Обработчик КОМБОСПИСОК.после_изменения
Обработчик после_изменения позволяет выполнить отложенную обработку изменения текста или выбора в выпадающем списке.
Обработчик вызывается приблизительно каждые 0.1 секунды до тех пор, пока необходимая задержка не будет достигнута. Если во время задержки пользователь вносит новые изменения, то отсчет времени возобновляется с момента последнего изменения.
Данное событие относится к спонтанным, для его отладки необходимо отключить соответствующую опцию в параметрах проекта.
ФУНКЦИЯ ЛОГИКА: <имя функции>(ПЕРЕМ КОМБОСПИСОК: список; ЧИСЛО: прошло)
Параметры
- список
- Ссылка на список, в котором изменили текст или выделение.
- прошло
- Время в секундах, прошедшее с момента последнего изменения текста пользователем.
Возвращаемое значение
Обработчик должен вернуть ДА после достижения необходимой величины задержки. Обработчик должен вернуть НЕТ для продолжения ожидания и последующего повторного вызова.
Замечание
Периодичность вызова обработчика может варьироваться из-за различных причин. Например, во время задержки была нажата кнопка и выполняются длительные вычисления. В этом случае, вызов обработчика после_изменения произойдет после окончания вычислений и возврата из обработчика нажатия кнопки.
Несмотря на отсутствие гарантий строгой периодичности вызова обработчика после_изменения, время, передаваемое в параметре прошло, отражает реальную задержку с момента последнего изменения. Это время, в общем случае, не будет кратно периоду 0.1 секунды и его не следует сравнивать на равенство с величиной желаемой задержки.
Пример
Следующий пример демонстрирует возможную реализацию обработчика после_изменения:
ФУНКЦИЯ ЛОГИКА: ОтложенноеИзменение(ПЕРЕМ КОМБОСПИСОК: список; ЧИСЛО: прошло) ЕСЛИ прошло > 3 ТО // ждем не менее 3-х секунд // здесь выполняем желаемую обработку... РЕЗУЛЬТАТ = ДА // дождались, хватит вызывать обработчик ИНАЧЕ РЕЗУЛЬТАТ = НЕТ // не дождались, продолжить вызовы обработчика КОНЕЦ_ЕСЛИ КОНЕЦ_ФУНКЦИИ