4.4.1. Форма Adjust – задержка при пошаговом поиске

 

Вернемся к форме Building, к ее второй странице. В рабочем состоянии она показана на рис. 4.23. Обратите внимание на поле Адрес. Это объект Combo Box (раскрывающееся поле). В нем представлен список улиц города. Их больше тысячи. Несмотря на расположение в алфавитном порядке, выбор нужной улицы – весьма трудоемкая операция. Если при создании Combo Box поставить в качестве значения свойства IncrementalSearch истину (.T.- True), то пользователь получит возможность применить пошаговый поиск. Что это означает? Запустите приложение Real Estate. Добейтесь появления на экране второй страницы формы Building. Заголовок ее окна: «Список зданий, попавших в запрос». Щелкнике по кнопке Исправить.

 Раскройте Combo Box - Адрес. Указатель мыши обязательно должен оставаться на месте щелчка. Дальше работаем с клавиатурой. Допустим, нам необходимо найти в списке улицу Серышева. Набираем на клавиатуре С-е-р-ы и т.д. По мере ввода символов компьютер при каждом приращении в комбинации набранных букв ищет соответствующее им слово. Иначе говоря, сначала ищется первое слово, начинающееся на С, далее первое слово, начинающееся на Се, далее первое слово, начинающееся на Сер и т.д. Теперь подробнее.

После нажатия клавиши С Вы увидите в списке следующую картину:

 

     Садовый переулок

     Салтыкова-Щедрина Улица

     Санаторная Улица

     Санаторный переулок

 

После нажатия клавиши е содержимое списка изменится:

 

     Севастопольская Улица

     Севастопольский переулок

     Северная Улица

     Седова переулок

 

После нажатия клавиши р появится следующее:

 

     Серова Улица

     Серпуховский переулок

     Серышева Улица

     Сеченова Улица

 

Нужная нам улица появилась в поле Combo Box. Щелкните по ней мышью. Список закроется. На экране останется выбранное значение: Серышева. При пошаговом поиске компьютер не отличает больших букв от маленьких. Поэтому можете работать в любом регистре, по русский шрифт должен быть включен обязательно!

 

Внимание! Между нажатиями на клавиши у Вас только полсекунды. Замешкались, в нашем примере, с буквой е, увидите улицы на эту букву. Промедлили – не беда. Начните набор сначала: С-е-р-ы и т.д. Только побыстрее. А теперь о правиле «полсекунды». Время реакции у каждого человека индивидуально. Пользователь должен иметь возможность настроить компьютер под себя. Для этого и предназначена форма Adjust (рис. 4.29).

 

 

Рис. 4.29. Форма Adjust в конструкторе форм

 

Основной элемент формы – объект Spinner, ControlSourсe которого – системная переменная _dblclick. Время задержки при пошаговом поиске и время, в течение которого два сделанных щелчка мыши, превращаются в двойной щелчок, это одна и та же переменная! Распорядитесь ее значением, в зависимости от того, какая цель поставлена. Приведем код события Click кнопки Записать:

 

*- Кнопка Записать

IF .NOT. BETWEEN(_dblclick,0.25,1.25)

  =MESSAGEBOX('Давайте ограничимся диапазоном 0.25-1.25 секунды';

              ,48,'Предложение!')

  ThisForm.Spinner1.SetFocus

  RETURN

ENDIF

ThisForm.Release