YourLib.net
Твоя библиотека
Главная arrow Информатика (Под общ. ред. А.Н. Данчула) arrow 4.7.4. Реализация событийной процедуры для кнопки «ВВОД»
4.7.4. Реализация событийной процедуры для кнопки «ВВОД»

4.7.4. Реализация событийной процедуры для кнопки «ВВОД»

   Эта кнопка (см. рис. 4.15) предназначена для начала работы с приложением, следовательно, целесообразно предусмотреть установку курсора в первое текстовое поле — «ввод коэффициента» а — и очистку всех текстовых полей от значений, которые там были ранее. Реализуем указанные действия. Такая событийная процедура должна выполняться после щелчка мышью по данной кнопке. Поэтому в окне кодов раскрывающаяся строка «Object» (редактор программ) выбираем объект с именем Vvod, а в раскрывающейся строке «Ргос» выбираем процедуру (событие) — Click (щелчок). Чтобы пользователь не выбирал поле ввода первого коэффициента, воспользуемся методом (готовой подпрограммой) SetFocus. Его синтаксис для произвольного элемента управления выглядит следующим образом: Имя объекта.SetFocus
   У метода SetFocus имеется свойство (SelStart), которое позволяет устанавливать курсор в поле объекта на указанную позицию. По умолчанию значение этого свойства равно нулю, т. е. позиция курсора автоматически устанавливается в начале поля ввода. Однако, если потребуется позиционировать положение курсора в каком-нибудь другом месте, необходимо присвоить этому свойству целочисленное значение. Например, если записать SelStart=4, то курсор в текстовом поле будет установлен за четвертой, т. е. на пятой позиции от начала строки.
   Пользоваться кнопкой «ВВОД», наверное, придется несколько раз, и поэтому целесообразно восстанавливать начальный вид приложения таким же, как при первоначальной загрузке. Для этого из событийной процедуры Form скопируем в событийную процедуру Vvod пять операторов присвоения, которые позволят скрыть окна с результатами решения и заблокировать кнопку «РЕШЕНИЕ». Это лучше всего выполнить обычным приемом копирования через директиву Edit строки главного меню. На рис. 4.24 показана программа обработки события — нажатие на кнопку «ВВОД», что отражается в имени процедуры — Vvod_Click.
   Ввод значений коэффициентов уравнений предполагается осуществлять в текстовые окна, а это значит, что необходимо оперировать символами. Поэтому предварительная очистка этих окон производится с использованием переменных, объявленных как данные типа String.
   При работе с символами в графическом режиме можно организовать ввод данных с клавиатуры несколькими способами, позволяющими осуществлять ввод любой последовательности символов.
   Самый простой способ организации ввода данных связан со свойствами текстового окна, при этом в нем будут отображаться

Рис. 4.24. Программа событийной процедуры кнопки «ВВОД» 

Рис. 4.24. Программа событийной процедуры кнопки «ВВОД»

все символы, последовательность которых вводится с клавиатуры. Завершая операцию ввода, необходимо предусмотреть действия, позволяющие сохранить введенные данные и осуществить переход к другому полю ввода. В данном случае нет возможности контролировать программным путем введенные символы, а можно только видеть их отображение в окне ввода. Если требуется внесение каких-то исправлений, то, при необходимости, делается корректировка введенных данных. Кроме того, в данной процедуре за счет изменения свойства Enabled кнопка «ВВОД» становится доступной, а кнопка «РЕШЕНИЕ» недоступной.
   Предложенный способ организации ввода данных в текстовое окно требует подготовки процедуры, которая обрабатывает событие перемещения курсора из текстового окна. Поэтому в списке Ргос для объекта под именем Txta выберем событие Lostfocus («выход из фокуса») и заполним открывшуюся процедуру, как это показано на рис. 4.25.
   Если попробовать запустить приложение — нажать на кнопку «ВВОД» и ввести с клавиатуры любые символы, то в текстовом окне против «а=» отобразятся введенные символы. В текстовом

Рис. 4.25. Обработка происходящих изменений в текстовом окне Lostfocus 

Рис. 4.25. Обработка происходящих изменений в текстовом окне Lostfocus

окне формы под именем Txta введенные символы будут накапливаться. Для перехода в следующее по порядку окно (перевод курсора) можно воспользоваться указателем мыши или нажать клавишу «Tab» (после чего курсор окажется в текстовом окне Txtb, предназначенном для ввода коэффициента b), а содержимое текстового окна Txta будет сохранено в переменной sa.
   Для ввода коэффициентов sb и sc предназначены аналогичные событийные процедуры.

 
< Пред.   След. >