Разработка программы
«Dialog»
Постановка
задачи.
Оператор условия.
В данной теме вы освоите
оператор условия If ... Then ... Else... (Если ... То ... Иначе...).
Синтаксис оператора
условия (многострочный вариант):
If условие
Then
End if ‘конец
блока if
If условие
Then [выражение1] Else [выражение2]
Пример:
Сколько Маше лет?
Если вы ввели в ответ Age (возрост) число 15, то вы угадали, иначе не
угадали.
If Age = 15 Then
Label1.Caption = “Вы угадали!”
Else
Label1.Caption = “Вы НЕ угадали!”
End If
1.
Запустите Visual Basic. Откроется окно
New Project. Нажмите кнопку “OK”. На форму Fom1
разместите с панели элементов (ToolBox) следующие элементы: поле ввода TextBox, 3
метки Label, 4
кнопки CommandButton
Рисунок 2.
Расположите все элементы в соответствие с рисунком 2.
2.
Сохраните свою работу следующим образом:
Откройте меню
File и пункт Save Project As.. Вам откроется форма Save File As. Теперь нажмите в окне после слов «Сохранить в: »
маленькую кнопку со стрелкой и найдите то место на диске (в папках,
директориях), в котором вы сохраняете свои работы или файлы. Там создайте новую папку под названием Dialog. Откройте ее и в
ней сохраните два(!) файла. Первый
файл, который по умолчанию называется Form1.frm, переименуйте, например, так: dial и нажмите кнопку
“Сохранить”. Второй файл, который появится сразу как только вы сохраните
первый, переименуйте, например, так: mydialog. Обязательно
проверьте, как сохранился ваш проект. Для этого откройте папку Dialog. Там должно
находиться пока два файла: dial.frm и mydialog.vbp. Последующие сохранения вы будете делать очень
просто, нажав иконку «Save Project”, но делайте это
как можно чаще – желательно перед каждым запуском разрабатываемой программы.
3.
Интерфейс. Продолжите свою работу над интерфейсом программы. А именно, используя
панель свойств, очистите от текста заголовки (Caption) элементов Text1, Label2 и Label3. В заголовке метки1 напишите: “Введите ваше имя и нажмите
Enter:”.
В заголовке кнопки1 наберите: “Basic”, кнопки2 –
«Delphi”, кнопки3 – «Очистить», кнопки4 – “Close”, формы1 – «Dialog» (см. рис.1).
4.
Программирование клавиши Enter. Откройте код (текст) вашей программы (View – Code или F7). В левом окне нажмите маленькую кнопку со
стрелкой и выберите элемент Text1, перейдите в правое окно и, открыв его, выберите
процедуру KeyPress – откроется заготовка процедуры Text1_KeyPress(KeyAscii As Integer). В ней напишите следующее выражение (см. жирный шрифт):
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label2.Caption = Text1.Text + ", какая собачка у Маши_
_Распутиной?"
Эта процедура обрабатывает
событие нажатия кнопки “Enter” (N13), а написанное вами выражение означает:
Если нажатая
клавиша есть клавиша Enter, то в свойство Caption метки2
вывести строку (что справа): имя
пользователя из Text1.Text плюс
выражение в кавычках.
Сохраните программу (File – Save Prject или соответствующая иконка) и запустите ее (Run – Stаrt или F5). Проверьте работу созданной процедуры: в Text1 ввести имя и нажать
клавишу Enter.
5. Программирование кнопок “Мопс” и “Такса”. Войдите в код программы и
в левом окне выберите элемент Command1, перейдите в правое окно и щелкните по событию Click – откроется
заготовка процедуры для обработки события щелчка по кнопке1. В нее вставьте
следующее выражение(жирный щрифт):
Private Sub Command1_Click()
End Sub
Процедуру обработки
кнопки2, для разнообразия, образуйте двойным щелчком по Command2. В нее вставьте
следующее выражение(жирный щрифт):
Private Sub Command2_Click()
Label3.Caption
= "Молодец! У нее
маленькая такса."
End Sub
6. Закрытие программы. Щелкните
дважды по кнопке “Close” и вставьте в ее процедуру слово End.
Сохраните проект и протестируйте его.
Развитие
программы.
1.
Программирование доступа к элементам. Весьма желательно, чтобы ваша программа
направляла действия пользователя в русле алгоритма задачи. В данном проекте
целесообразно оградить пользователя от несвоевременного нажатия на кнопки 1, 2
и 3. Пусть его внимание будет сосредоточено на вводе своего имени. Для этого
сделайте все кнопки, кроме кнопки Close, в начале недоступными: в окне свойств установите
свойcтсво Enаbled = false. Как только
пользователь введет имя и нажмет кнопку Enter, откройте доступ к кнопкам “Мопс” и “Такса”, а
затем, после нажатия одной из этих кнопок,
откройте кнопку “Очистить”.
Подсказка. В соответсвующие процедуры вставьте выражение:
Здесь N – номер кнопки.
2.
Курсор и фокус. Чтобы яснее было пользователю, что делать в вашей программе, в дополнение к
предыдущему пункту, сделайте так, чтобы по включению программы, курсор
обязательно находился в поле ввода (Text1), чтобы этот объект находился в фокусе.
Подсказка. В окне свойств объекта Text1 его свойству TabIndex придайте значение, равное 0.
3. Сброс
значений. Пусть пользователи
имеют возможность повторить диалог, не перезапуская программу.
Private Sub Command4_Click()
Label2.Caption =
"" ‘ вставить пустую строку
Label3.Caption = ""
Command1.Enabled = False
Command2.Enabled = False
Text1.Text = ""
Text1.SetFocus ‘ установить фокус на объекте Text1 !!!
Command3.Enabled = False
4.
Защита от ввода пустой строки. Если пользователь забыл ввести свое имя, то ваша
программа должна сказать ему об этом.
Подсказка. Дополните процедуру обработки выражением, которое означает: если
в поле ввода введен какой-либо текст, то выполнить последующие три оператора, иначе (Else),
т.е. если ничего не введено (другими словами, введена пустая строка (“”)), то
вывести окно с текстом "Введите, пожалуйста, ваше имя!"
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = "13" Then
If Text1.Text <> "" Then
Label2.Caption = Text1.Text + ", какая
собачка у Маши Распутиной?"
Command1.Enabled = True
Command2.Enabled = True
Else
MsgBox ("Введите, пожалуйста, ваше
имя!")
End If
End If
Здесь оператор If – Then – Else применен в полном
формате. Мы еще вернемся к этой констркции в следующих темах.
5.
Дизайн. Сделайте шрифт (тип, цвет, размер) отличным от шрифта по умолчанию, а
также форму выполните в цвете.
Подсказка. Все эти свойства найдете в окне свойств.