Руководство разработчика

Обработчик КОМБОСПИСОК.после_изменения

Обработчик после_изменения позволяет выполнить отложенную обработку изменения текста или выбора в выпадающем списке.

Обработчик вызывается приблизительно каждые 0.1 секунды до тех пор, пока необходимая задержка не будет достигнута. Если во время задержки пользователь вносит новые изменения, то отсчет времени возобновляется с момента последнего изменения.

Данное событие относится к спонтанным, для его отладки необходимо отключить соответствующую опцию в параметрах проекта.

ФУНКЦИЯ ЛОГИКА: <имя функции>(ПЕРЕМ КОМБОСПИСОК: список;
                              ЧИСЛО: прошло)

Параметры

список
Ссылка на список, в котором изменили текст или выделение.
прошло
Время в секундах, прошедшее с момента последнего изменения текста пользователем.

Возвращаемое значение

Обработчик должен вернуть ДА после достижения необходимой величины задержки. Обработчик должен вернуть НЕТ для продолжения ожидания и последующего повторного вызова.

Замечание

Периодичность вызова обработчика может варьироваться из-за различных причин. Например, во время задержки была нажата кнопка и выполняются длительные вычисления. В этом случае, вызов обработчика после_изменения произойдет после окончания вычислений и возврата из обработчика нажатия кнопки.

Несмотря на отсутствие гарантий строгой периодичности вызова обработчика после_изменения, время, передаваемое в параметре прошло, отражает реальную задержку с момента последнего изменения. Это время, в общем случае, не будет кратно периоду 0.1 секунды и его не следует сравнивать на равенство с величиной желаемой задержки.

Пример

Следующий пример демонстрирует возможную реализацию обработчика после_изменения:

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

См. также: