- •Лабораторная работа №2. Моя первая программа
- •Лабораторная работа №3. Простейшая математическая программа
- •Лабораторная работа №4. Необходимые элементы оформления проекта
- •Лабораторная работа №5. Компоненты выбора и настройки параметров
- •Лабораторная работа №6. Цифровые часы
- •Лабораторная работа №7. Использование cписков
- •Лабораторная работа №8. Программа-шутка
- •Лабораторная работа №9. Работа с окнами диалога
- •Лабораторная работа №11. Программа с мультипликацией, видеоклипом
- •Лабораторная работа №10. Компоненты управления файлами
- •Лабораторная работа №12. Создание текстового редактора
- •Список литературы
Лабораторная работа №4. Необходимые элементы оформления проекта
Цели работы: Целью работы является практическое освоение методологии и принципов создания и оформления элементов интерфейса Windows-программы.
П
риведенный
выше вариант программы вполне
работоспособен. Но в подобных программах
обязательное требование в части их
оформления – предусмотреть реакции
на ввод символов в полях редактирования,
например, защиту от ввода букв или второй
десятичной точки. При нажатии Enter
естественно переносить курсор в следующее
поле редактирования или выполнять
другие действия, если ввод данных
завершен. В обработчиках событий
(закладка Events инспектора событий Delphi)
для полей ввода определим методы
OnKeyPress, задав им имена, например, e1 и e2.
Затем после двойного щелчка заполним
шаблоны процедур.
procedure TForm1.e1(Sender: TObject; var Key: Char); begin
{защита поля редактирования на ввод числа }
case key of
'0'..'9',chr(8):;
'.': if pos('.',edit1.text)>0 then key:=chr(0);
'–': if length( edit1.text)>0 then key:=chr(0);
chr(13): edit2.SetFocus;
else key:=chr(0); end;
end;
Вторая процедура отличается от первой лишь реакцией на нажатие клавиши Enter
procedure TForm1.e2(Sender: TObject; var Key: Char); begin
... edit2.text ... chr(13): edit2.font.color:=clRed; ...
end;
Текст процедуры TForm1.Button1Click желательно оформить как самостоятельную процедуру, например,
procedure Summa(edit1,edit2: tEdit; label5: TLabel);
и вызывать ее как внутри TForm1.Button1Click, так и в реакции на Enter в процедуре TForm1.e2, при этом окончание ввода данных сразу запустит вычисления.
Введем кнопку очистки полей ввода и вывода результата для нового расчета. Заголовок кнопки определим как Caption="новое", зададим реакцию OnClick (двойным щелчком на кнопке).
procedure TForm1.Button2Click(Sender: TObject);
begin
{очистка полей ввода} edit1.text:=''; edit2.text:=''; label5.caption:=''; edit1.SetFocus
end;
Введем кнопку выхода
procedure TForm1.Button3Click(Sender: TObject);
begin
form1.close { завершение приложения}
end;
Лабораторная работа №5. Компоненты выбора и настройки параметров
Цели работы: Создание Windows-приложения, в котором при щелчке на радио-кнопке с названием цвета на светофоре загорается соответствующий цвет
Выбор и настройка параметров при работе с программным приложением считается стандартной частью работы пользователя с любым серьезным приложением. Это может быть как настройка самого приложения, так и определение параметров отображаемых или моделируемых в приложении процессов и явлений. Элементы интерфейса Windows-программы для основных операций такой работы в настоящее время практически стандартизированы. Рассмотрим создание этих элементов на примере работы с компонентами библиотеки VCL (Visual Component Library) в среде Delphi.
Б
азовые
элементы выбора и настройки параметров
расположены на странице Standart палитры
компонент Delphi. В представленном ниже
проекте используем следующий классический
набор компонент:
GroupBox – группа, которая визуально и логически объединяет наборы компонент, определяет порядок перемещения по компонентам на форме (при нажатии клавиши TAB). При помещении в группу новый компонент получает свойства ParentColor, ParentShowHint, ParentFont, ParentCtl3D этой группы. Свойства Left и Top сгруппированных объектов определяются по верхнему углу группы, а не формы;
RadioGroup – группа для объектов RadioButton (см. ниже);
RadioButton
– переключатели или радиокнопки, служат
для выбора одной возможности из набора
взаимоисключающих возможностей. Термин
отражает сходство с набором кнопок
выбора каналов радиоприемника. Эти
кнопки обычно объединяют группой
RadioGroup. Выбор кнопки отражает свойство
Checked, свойство Alingment определяет положение
поясняющей надписи относительно кнопки;
CheckBox
– выключатель, выглядит как строка
текста с окошком для установки отметки
о выборе. Выключатели работают независимо,
но их обычно группируют. При определении
реакции на выбор можно использовать
событие OnClick, но обычно устанавливают
как индикатор свойство State по трем
состояниям – cbChecked (есть), cbUnChecked (нет),
cbGrayed (неопределенно) внутри программы.
При этом для блокировки ручного изменения
этого свойства нужно установить
DragMode=Automatic.
Пример проекта с выбором параметров
Поместить компоненты Label, Panel, GroupBox, RadioButton (страница Standard) в форму.
Установить следующие свойства объектов, используя Инспектор объектов:
Label1
Caption
Светофор
Panel1,2,3Caption
GroupBox1Caption
Цвет
RadioButton1Caption
Красный
RadioButton2
Caption
Желтый
RadioButton3
Caption
Зеленый
Записать код для процедуры обработки события Click (щелчок мыши) на объекте RadioButton1:
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Panel1.Color := clRed;
Panel2.Color := clWhite;
Panel3.Color := clWhite;
end;
Самостоятельно записать код для процедур: TForm1.RadioButton2Click и TForm1.RadioButton3Click
Добавить печать информации "Стойте", "Внимание", "Идите" на панели с соответствующим сигналом белым цветом шрифта жирным начертанием 12п.
