Практическая работа "Компоненты текстовое поле, метка, кнопка в среде Delphi" 11 класс

П р а кт и ч е с к а я ра б о т а 3
К
К
О
О
М
М
П
П
О
О
Н
Н
Е
Е
Н
Н
Т
Т
Ы
Ы
Т
Т
Е
Е
К
К
С
С
Т
Т
О
О
В
В
О
О
Е
Е
П
П
О
О
Л
Л
Е
Е
,
,
М
М
Е
Е
Т
Т
К
К
А
А
,
,
К
К
Н
Н
О
О
П
П
К
К
А
А
Цель работы:
Получить представление о
компонентах ТЕКСТОВОЕ ПОЛЕ,
МЕТКА, КНОПКА, познакомиться с
их свойствами и исследовать их.
Т
Т
Е
Е
О
О
Р
Р
Е
Е
Т
Т
И
И
Ч
Ч
Е
Е
С
С
К
К
А
А
Я
Я
Ч
Ч
А
А
С
С
Т
Т
Ь
Ь
Значки компонентов находятся на вкладке Standard панелей
инструментов.
Для того чтобы добавить в форму компонент, необходимо в палитре
компонентов выбрать этот компонент, щелкнув левой кнопкой мыши на его
пиктограмме, далее установить курсор в ту точку формы, в которой
должен быть левый верхний угол компонента, и еще раз щелкнуть левой
кнопкой мыши. В результате в форме появляется компонент стандартного
размера.
Таблица Свойства компонента Edit
(изображающий поле, необходимое для ввода и редактирования
текста поле ввода-редактирования)
Описание
Имя компонента Edit. Используется в программе для доступа
к компоненту и его свойствам, в частности для доступа к
тексту, введенному в поле редактирования
Текст, находящийся в поле ввода и редактирования
Ширина поля
Высота поля
Расстояние от верхней границы поля до верхней границы
формы
Расстояние от левой границы поля до левой границы формы
Шрифт, используемый для отображения вводимого текста
Признак наследования компонентом характеристик шрифта
формы, на которой находится компонент. Если значение
свойства равно True, то при изменении свойства Font формы
автоматически меняется значение свойства Font компонента
Создание примечание
Установка активности примечания
При вводе данных визуально заменяет вводимую
информацию на символ, указанный в данном свойстве.
Удобно для паролей.
Компонент Edit имеет в своём составе следующие события:
Событие
Описание
OnChange
Происходит при любом изменении отображаемого текста
OnClick
Происходит при клике по компоненту
OnEnter
Происходит в момент получения компонентом фокуса ввода
OnExit
Возникает, когда компонент теряет фокус ввода
OnDblClick
Возникает при двойном щелчке мышкой по компоненту
OnKeyDown
Когда при нажатии на кнопку на клавиатуре она оказалась в
нижнем положении
OnKeyUp
Когда при отпускании клавиатурной кнопки она оказалась в
верхнем положении;
OnKeyPress
Возникает при нажатии на клавиатурную кнопку
OnMouseDown
Когда при нажатии кнопки мышки она оказалась в нижнем
положении
OnMouseUp
Когда при отпускании кнопки мышки она оказалась в
верхнем положении.
OnMouseMove
Возникает при перемещении указателя мышки над
компонентом
Значения данных, вводимые в текстовое поле Edit, имеют строковый
тип данных string. В том случае, если в дальнейшем эти данные будут
использоваться для вычислений, то необходимо значениям данных изменить
тип данных на числовой: real или integer. Соответственно, в том случае, если
результаты вычислений необходимо будет вывести в текстовое поле Edit, то
тип этих данных нужно преобразовать из числового в строковый. Для этого
необходимо воспользоваться следующими функциями среды Delphi:
Преобразование строкового типа в числовой
StrToInt(s)
Результатом будет число целого типа, изображением которого
является строка s.
Пример.
var a: integer;
…………………..
a: = StrToInt(Edit1.TEXT);
StrToFloat(s)
Результатом будет вещественное число, изображением
которого является строка.
Преобразование числового типа в строковый
IntToSTR(n)
Результатом будет строка, являющаяся изображением целого
n.
Пример.
var a, c, m: integer;
…………………..
a: = c + m;
Edit 1.TEXT : = IntToSTR(a);
FloatToSTR(n)
Результатом будет строка, являющаяся изображением
вещественного n.
FloatToSTRf
(n,f,k,m)
Результатом будет строка, являющаяся изображением
вещественного n, при вызове функции указывают: f формат
(т.е. способ изображения); k точность (общее количество
цифр); m количество цифр после десятичной точки.
Пример.
var a, c, m: real;
…………………..
a: = c + m;
Edit 1.TEXT : = FloatToSTRf (a, ffnumber, 8,2);
Методы компонента Edit
edit1.Clear ;
Свойства компонента Label (поле вывода текста)
Помимо полей редактирования в окне программы должна находиться
краткая информация о программе и назначении полей ввода. Для вывода
текста в форму используют поля вывода текста. Поле вывода текста (поле
статического текста) — это компонент Label. Добавляется компонент Label в
форму точно так же, как и поле редактирования.
Свойства компонента Label перечислены в таблице.
Свойство
Описание
Name
Имя компонента, используемый в программе для доступа к
компоненту и его свойствам
Caption
Текст, находящийся в поле вывода текста
Width
Ширина поля
Height
Высота поля
Тор
Расстояние от верхней границы поля до верхней границы
формы
Left
Расстояние от левой границы поля до левой границы формы
Font
Шрифт, используемый для отображения выводимого текста
Hint
Создание примечание
ShowHint
Установка активности примечания
ParentFont
Признак наследования компонентом характеристик шрифта
формы, на которой находится компонент. Если значение
свойства равно True, то при изменении свойства Font формы
автоматически меняется значение свойства Font компонента
AutoSize
Признак того, что размер поля определяется его содержимым
WordWrap
Признак того, что слова, которые не помещаются в текущей
строке, автоматически переносятся на следующую строку
Aligment
Выравнивает метку по левому, по правому краю и по центру
Замечание: После добавления к форме компонента Label значение свойства
AutoSize равно True, т. е. размер поля определяется автоматически в процессе
изменения значения свойства Caption. Если вы хотите, чтобы находящийся в
поле вывода текст занимал несколько строк, то надо сразу после добавления
к форме компонента Label присвоить свойству AutoSize значение False,
свойству WordWrap значение True.
Вывод в фоновый текст (компонент Label)
Поле вывода – это компонент Label.
Содержимое поля вывода определяется
значением свойства Caption. Свойство
Caption символьного типа.
Например, для вывода стоимости
покупки в программе необходимо
использовать следующую команду:
Label5.Caption:=C Вас + FloatToStr(s) + рублей’;
Таблица Свойства компонента Button (командная кнопка)
Свойство
Описание
Name
Имя компонента
Caption
Текст на кнопке
Width
Ширина кнопки
Height
Высота кнопки
Тор
Расстояние от верхней границы кнопки до верхней границы
формы
Left
Расстояние от левой границы кнопки до левой границы формы
Font
Шрифт, используемый для отображения вводимого текста
Hint
Создание примечание
ShowHint
Установка активности примечания
Enabled
Признак доступности кнопки. Кнопка доступна, если значение
свойства равно True, и недоступна, если значение свойства
равно False
Компонент Button имеет в своём составе следующие события:
Событие
Описание
OnClick
Происходит при клике по кнопке
OnEnter
Происходит в момент получения компонентом фокуса ввода
OnExit
Возникает, когда компонент теряет фокус ввода
OnKeyDown
Когда при нажатии на кнопку на клавиатуре она оказалась в
нижнем положении
OnKeyUp
Когда при отпускании клавиатурной кнопки она оказалась в
верхнем положении;
OnKeyPress
Возникает при нажатии на клавиатурную кнопку
Label5
Событие
Описание
OnMouseDown
Когда при нажатии кнопки мышки она оказалась в нижнем
положении
OnMouseUp
Когда при отпускании кнопки мышки она оказалась в
верхнем положении.
OnMouseMove
Возникает при перемещении указателя мышки над
компонентом
OnMouseEnter
Происходит, когда пользователь помещает курсор мыши в
область элемента
OnMouseLeave
Происходит, когда пользователь убирает курсор мыши из
области элемента
П
П
Р
Р
А
А
К
К
Т
Т
И
И
Ч
Ч
Е
Е
С
С
К
К
А
А
Я
Я
Ч
Ч
А
А
С
С
Т
Т
Ь
Ь
П
П
Р
Р
И
И
М
М
Е
Е
Р
Р
1
1
Рассмотрим работу некоторых событий компонента Edit на конкретном
примере.
На форме расположим два компонента Edit.
Для Edit1 на вкладке Events в Object Inspector ищем событие OnEnter и
кликаем два раза по нему. В открывшемся редакторе кода прописываем
edit1.color:=clWindow. Затем переходим в событие OnExit и в редакторе кода
пишем edit1.color:=clBlue.
Для Edit2 на вкладке Events в Object Inspector ищем событие OnChange
и пишем туда form1.Caption:=form1.Edit2.Text. Затем переходим в событие
OnKeyPress и в нём прописываем код: if not (Key in ['А'..'Я', 'а'..'я', '-', '_', #8,
#32]) then Key:=#0.
Запускаем приложение. В результате должно получиться так, что в
запущенной программе при клике на Edit2, Edit1 меняет свой цвет на синий
(код в событии OnEnter):
При клике на Edit1, Edit2 становится белым (код в событии OnExit):
Так же, текст, вводимый в Edit2 будет отображаться в заголовке
программы (код в событии OnChange) и по коду записанному в событии
OnKeyPress в Edit2 нельзя вводить никакие символы кроме русского
алфавита.
П
П
Р
Р
И
И
М
М
Е
Е
Р
Р
2
2
Рассмотрим работу некоторых событий кнопки Button на простом
конкретном примере.
Для этого на форме размещаем компонент Button. Затем на вкладке
Events в Object Inspector ищем событие OnMouseMove. В него прописываем
form1.color:=clGreen:
Далее ищем событие OnMouseLeave и в него пишем в него
form1.color:=clBtnface:
Следующим шагом найдём событие OnClick (его также можно
задействовать дважды, кликнув на саму кнопку), и напишем в него
form1.windowstate:=wsMaximized.
Запускаем. Получится в итоге, что по событию OnMouseMove при
наведении курсора мыши на кнопку, форма перекрасится в зелёный цвет, а
когда пользователь убирает с мыши курсор, задействуется событие
OnMouseLeave, и форма возвращается к первоначальному цвету. При
нажатии на саму кнопку задействуется событие OnClick, и по прописанному
в нём коде, форма разворачивется на весь экран:
З
З
А
А
Д
Д
А
А
Н
Н
И
И
Е
Е
1
1
Создать приложение, которое
производит вычисление суммы двух
чисел. Входные данные вводите из
текстовых полей. А вычисление
должно происходить по нажатию
кнопки.
Замечание: Программа должна быть
оформлена с элементами дизайна.
Задание вычисление суммы двух чисел выполните по следующему
алгоритму:
1. Запустите среду Delphi.
2. Оформите форму (произведите изменения строки заголовка, цвета и
шрифта на форме).
3. Сохраните проект, выполнив команду Файл – Сохранить проект как
Открыть Мои документы Папка с номером группы Папка
ПРОЕКТЫ – Папка с названием проекта;
текст программы сохранить в файле с расширением .pas (например
KodSumma.pas);
проект программы сохранить в файле с расширением .dpr (например
ProjectSumma.dpr).
4. Разместите на форме два текстовых поля, убрав текст внутри.
5. Около каждого текстового поля расположите комментарий для
пользователя: какая информация должна вводиться в соответствующие поля.
6. Расположите кнопку, наделив её необходимыми свойствами.
7. Добавьте компонент (метку или текстовое поле), на котором будет
появляться результат вычисления.
8. Двойным щелчком по созданной вами кнопке откроется код программы с
готовым шаблоном процедуры выполнения действий кнопки по щелчку:
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
9. Между операторными скобками begin и end необходимо ввести
следующий текст программы:
10. Перед begin вставить команду объявления переменных var a,b,s: real;
11. Сохраните проект.
12. Запустить программу на выполнение, нажав F9, и поработайте в
созданном приложении.
13. Вернитесь в среду Delphi, нажав кнопку «».
Самостоятельно:
Приложение должно стартовать по центру экрана.
З
З
А
А
Д
Д
А
А
Н
Н
И
И
Е
Е
2
2
Создать программу, которая
вычисляет стоимость покупки для
нескольких товаров.
Добавить кнопку «Очистить»
для обслуживания следующего
покупателя.
Метка напротив поля ИТОГО, содержащего денежную информацию,
должна меняться в зависимости от числового значения поясняющий текст к
денежной величине может быть: «рубль», «рублей» или «рубля» (123 рубля,
120 рублей, 121 рубль). Очевидно, что окончание поясняющего слова
определяется последней цифрой числа, что отражено в таблице:
Цифра
Поясняющий текст
0,5,6,7,8,9
1
2,3,4,
Рублей
Рубль
Рубля
Приведённое в таблице правило имеет исключение для чисел,
оканчивающихся на 11,12,13,14…19. Для них поясняющий текст должен
быть «рублей».
З
З
А
А
Д
Д
А
А
Н
Н
И
И
Е
Е
3
3
Создать программу, которая вычисляет доход от вклада с учётом
начисления ежемесячных процентов на доход текущего месяца.
Ежемесячные проценты рассчитываются из годового процента.
Входные данные: Вклад, Годовой процент, Срок в месяцах.
Выходные данные: Доход (Вывести на метку).
Кнопка расчёта становится активной, только после заполнения всех
полей ввода. Снабдить интерфейс примечаниями.
Поле Срок в месяцах необходимо сделать только для ввода целых
чисел, а для этого нужно для события OnKeyPress прописать следующую
команду:
if not(key in ['0'..'9', #8]) then key:=#0;
З
З
А
А
Д
Д
А
А
Н
Н
И
И
Е
Е
4
4
Создать программу, в которой щелчком по кнопке будет меняться цвет
рядом стоящей метки, а по наведению курсора на Edit цвет метки будет
возвращаться.
Edit будет менять цвет введённого текста при наведении курсора на
кнопку, и возвращать цвет текста при смещении курсора с кнопки.