Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАиП / ЛР8.doc
Скачиваний:
21
Добавлен:
25.02.2016
Размер:
129.54 Кб
Скачать

Часть 3. Создание обработчиков событий

При запуске программы в поле объекта ListBoxCountryдолжен отображаться список стран. Вывести этот список можно двумя способами.

1). Объект ListBoxобладает свойствомItems (элементы). Такими элементами являются строки текста. Если в окнеинспектора объектовв строкеItemsвыполнить щелчок по кнопке…, откроется окноString List Editor. В поле окна можно вписать названия стран.

2). Названия стран можно добавить в поле списка в ходе работы программы. Для этого используют метод Add(добавить) свойстваItemsобъектаListBox.

Воспользуемся вторым способом. Список стран должен отображаться сразу же после запуска программы, т.е. в момент создания формы, поэтому указанные действия могут выполняться в обработчике событий OnCreate (при создании формы).

  1. Создайте обработчик события При создании формы. Для этого выделите форму, вокне инспектора объектовперейдите на вкладкуEvents (События)и в строкеOnCreate (при создании)выполнитедвойной щелчок. В программной части проекта появится процедура с именемTFormWeight. FormCreate.

  2. Добавьте в тело подпрограммы команды, позволяющие поместить в окно объекта ListBoxCountry список стран:

  1. Сохраните изменения в проекте (меню File \ Save all). Проверьте функциональность приложения на данном этапе, запустив его на выполнение клавишейF9. Обратите внимание на список стран в окне объектаListBoxи наличие вертикальной линейки прокрутки. Она появляется автоматически, если число элементов списка превышает размеры поля объектаListBox.

Рассмотрим принцип работы создаваемого приложения. Произвести вычисления возможно лишь тогда, когда выбран элемент списка (страна) и в строке ввода имеется число (количество фунтов). Таким образом, при выборе пользователем элемента списка (событие По щелчку в списке стран) необходимо предать управление строке ввода, а при нажатии кнопкиВычислить(событиеПо щелчку) – перевести фунты в килограммы и вывести результат. Создадим названные обработчики событий.

  1. Создайте обработчик события По щелчку в списке стран. Для этого активизируйте объектListBoxCountryи выполните двойной щелчок в окнеинспектора объектовна страницеСобытияв строкеOnClick. В результате в окне кода программы появится конструкция процедуры с именемTFormWeight.ListBoxCountryClick.

Активизация процедуры означает, что выбран какой-либо элемент списка, и теперь надо передать управление (фокус ввода– см. упр. 5) строке ввода. Поэтому запишем команду:

  1. Создайте общий обработчик события По щелчку для кнопкиВычислить. Для этого выделите кнопку, вокне инспектора объектовперейдите на вкладкуEvents (События)и в строкеOnClick (по щелчку)выполните двойной щелчок. В программной части проекта появится процедура с именемTFormWeight. ButtonAccountClick.

Вызов подпрограммы означает, что выбрана страна и введен вес в фунтах. Следовательно, эти данные надо получить в виде значений каких-то переменных. Для организации вычислений понадобятся три величины: вес в фунтах – p, вес в килограммах –kgи коэффициент перевода –k.

Выбор страны определяет значение коэффициента k. Здесь важен порядок расположения стран в списке.

Страна в списке

Номер строки

Значение коэффициента k

Австрия

0

0,56001

Англия

1

0,453592

Германия

2

0,5

Дания

3

0,5

Исландия

4

0,5

Италия

5

0,31762

Нидерланды

6

0,5

Россия

7

0,4059

При щелчке по одной из строк, ее номер становится значением параметра ItemIndex объектаListBox(см. упр. 7). Так,ListBoxCountry.ItemIndex– номер строки, выбранной пользователем. Проверить это значение и задать соответствующееkможно с помощью оператораcase. Команда примет вид:

Рассмотрим процесс «извлечения» из строки ввода Editзначения веса в фунтах (см. упр. 3). Получить доступ к этому числу можно с помощью свойстваTextобъекта классаTEdit. Следует учесть, что значением свойстваTextявляется строка, поэтому необходимо преобразовать ее в число функциейStrToFloat:

Осталось перевести вес в килограммы и вывести результат:

  1. Добавьте в процедуру TFormWeight.ButtonAccountClickописание величин и команды, чтобы подпрограмма приняла вид:

  1. Сохраните изменения в проекте (меню File \ Save all). Проверьте функциональность приложения (клавишаF9).

  2. Создайте обработчик события По щелчку для кнопкиСправка. Для этого выделите кнопку, затем в окне инспектора объектовна вкладкеEventsв строкеOnClick выполните двойной щелчок. В программной части проекта появится процедура с именемTFormWeight.ButtonHelpClick.

Рассмотрим действия при щелчке по кнопке Справка. На экране должно появиться текстовое сообщение о переводных коэффициентах для разных стран. Вывод сообщения организуем с помощью функцииMessageDlg(см. упр. 5). Сообщение будет состоять из нескольких строк. Разделение на строки выполним принудительно, вставив в текст коды, организующие возврат к началу строки (код#13) и переход в новую строку (код#10).

  1. Впишите в тело процедуры ButtonHelpClickследующие команды:

  1. Сохраните изменения в проекте. Запустите приложение на исполнение и убедитесь в работе кнопок. Закройте приложение.

Соседние файлы в папке ОАиП