лабораторная работа 2
.pdf1
Лабораторная работа № 2 Тема: «Знакомство с компонентами»
Цель работы:
1.Закрепить теоретические сведения о базовых компонентах среды Delphi.
2.Научиться использовать компоненты при разработке программ в среде
Delphi.
3.Реализовать программы заданий для практического и самостоятельного выполнения.
Порядок работы:
1.Изучить компоненты среды разработки Delphi и ознакомиться с их основными характеристиками по предложенному теоретическому материалу.
2.Выполнить практические задания по разработке приложений в среде
Delphi, а также реализовать задачи для самостоятельного выполнения.
3.Защитить лабораторную работу, продемонстрировать программы всех заданий, ответить на контрольные вопросы по данной теме.
Краткие теоретические сведения
|
Оглавление |
Форма................................................................................................................................................... |
2 |
Страница Standard.............................................................................................................................. |
3 |
Кнопки .............................................................................................................................................. |
4 |
Надписи ............................................................................................................................................ |
5 |
Флажки ............................................................................................................................................. |
7 |
Переключатели................................................................................................................................ |
8 |
Класс TPanel, TGroupBox .............................................................................................................. |
9 |
Текстовые поля ............................................................................................................................... |
9 |
Memo.................................................................................................................................................. |
10 |
ListBox ............................................................................................................................................... |
11 |
ComboBox .......................................................................................................................................... |
11 |
RadioGroup ........................................................................................................................................ |
12 |
Страница Additional ………………………………………………………………………… 13 |
|
Функции ввода и вывода ................................................................................................................ |
13 |
Пример задач .................................................................................................................................... |
16 |
Компоненты первостепенной важности расположены на странице Standard палитры компонентов. Они соответствуют основным элементам управления Windows, без которых не обходится ни одна программа.
Процесс создания программы разбивается |
на две фазы: фаза |
конструирования формы и фаза кодирования. |
|
конструирование осуществляется с помощью выбора компоненты из палитры и размещения их на форме;
чтобы придать компоненту нужные свойства (вид, его размер, поведение), используется страница Properties Инспектора объектов;
2
чтобы компонент мог откликаться на то или иное событие, программист должен создать обработчик события и указать его имя на странице Events Инспектора объектов. У компонентов Delphi существует свое поведение, т.е. набор откликов на события, происходящие с ними;
обработчик события оформляется в виде процедуры.
Форма
Форма (объект тип TForm) является основой программы. Свойства формы определяют вид окна программы:
3
Страница Standard
|
|
|
|
|
|
|
Компонент |
|
Название |
|
Описание |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ActionList |
|
Создает список операций, координирующий реакции |
|
|
|
|
|
разрабатываемого приложения на действия пользователя |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Button |
|
Показывает кнопку с надписью |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ComboBox |
|
Представляет собой окно редактирования, объединенное с |
|
|
|
|
|
выпадающим списком |
|
|
|
|
|
|
Checkbox
Создает флажок, интерактивно устанавливаемый и сбрасываемый пользователем
Edit |
|
Задает строку ввода |
|
|
|
|
|
|
Frames |
|
Открывает диалоговое окно со списком компонентов, |
|
|
включенных в проект, для выбора и помещения в текущую |
|
|
форму |
|
|
|
|
|
|
GroupBox |
|
Группирует несколько связанных по смыслу компонентов |
|
|
|
|
|
|
Label |
|
Размещает в окне не очень длинные надписи |
|
|
|
|
|
|
ListBox |
|
Выводит прокручиваемый список строк |
|
|
|
|
|
|
MainMenu |
|
Создает главное меню программы |
|
|
|
|
|
|
Memo |
|
Редактирует и отображает многострочный текст |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
Panel |
|
Создает панели, на которых могут находиться другие |
|
|
|
|
|
|
компоненты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
РорирМепи |
|
Генерирует вспомогательное меню |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RadioButton |
|
Представляет собой зависимый переключатель |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RadioGroup |
|
Создает группу переключателей со взаимоисключением |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ScrollBar |
|
Изменяет область просмотра списка или формы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Кнопки
Командные кнопки (Button) являются одним из наиболее распространенных элементов управления Windows. Свойства и методы компонента «кнопка» инкапсулированы в классе TButton. Назначение – формирование событий при нажатии на них.
Основные свойства компонента TButton
Свойство |
Тип |
Описание |
Anchors |
TAnchors = |
Pflftn ghbdzpre ryjgrb |
|
set of |
• akTop — к верхней границе контейнера; |
|
(akTop, |
• akLeft — к левой границе контейнера; |
|
akLeft, |
• akRight — к правой границе контейнера; |
|
akRight, |
• akBottom — к нижней границе контейнера. |
|
akBottom) |
Если заданы все четыре точки привязки, то |
|
|
при изменении размеров формы пропорционально |
|
|
будут изменяться и размеры кнопки |
Caption |
TCaption |
Строка текста, отображаемого на кнопке |
Cancel |
Boolean |
Если это свойство установлено равным true, то при |
|
|
нажатии на клавишу Escape вызывается обработчик |
|
|
события OnClick данной кнопки. На форме может быть |
|
|
только одна кнопка со свойством Cancel, установленным |
|
|
в true |
Default |
Boolean |
Если это свойство установлено равным true, то при |
|
|
нажатии на клавишу Enter вызывается обработчик |
|
|
события OnClick данной кнопки. На форме может быть |
|
|
только одна кнопка со свойством Default, установленным |
|
|
в true |
ModalResult |
TmodalResult |
При нажатии на кнопку значение свойства ModalResult |
|
|
родительской формы устанавливается равным свойству |
|
|
ModalResult кнопки. Используется при создании окон |
|
|
диалога |
Enable |
Boolean |
Признак доступности кнопки. При установке данного |
|
|
свойства равным false кнопка становится недоступной, |
|
|
отображаясь серым цветом, в результате щелчка на |
|
|
кнопке событие Onclick не возникает. |
|
|
5 |
|
Visible |
Boolean |
При установке данного свойства в False кнопка |
|
|
|
становится невидимой и недоступной |
|
Font |
TFont |
Определяет шрифт, которым отображается надпись на |
|
|
|
кнопке |
|
TabOrder |
TTabOrder |
Определяет порядок перебора элементов |
|
|
|
управления, расположенных на форме, при |
|
|
|
нажатии на клавишу Tab |
|
TabStop |
Boolean |
Если данное свойство установлено в false, то фокус ввода |
|
|
|
никогда не будет передаваться данной кнопке при |
|
|
|
переборе элементов клавишей Tab. Однако такую кнопку |
|
|
|
все равно можно нажать мышью |
|
Name |
|
Имя компонента. Используется в программе для доступа |
|
|
|
к компоненту и его свойствам. |
|
Top |
Integer |
Положение верхней границы кнопки (в пикселах) |
|
|
|
относительно верхней границы контейнера, |
|
|
|
содержащего кнопку |
|
Left |
Integer |
Положение левой границы кнопки (в пикселах) отно- |
|
|
|
сительно левой границы контейнера, содержащего |
|
|
|
кнопку |
|
Width |
Integer |
Ширина кнопки |
|
Height |
Integer |
Высота кнопки |
|
Hint |
|
Подсказка – текст, который появляется рядом с |
|
|
|
указателем мыши при позиционировании указателя на |
|
|
|
командной кнопке (для того чтобы текст появился, |
|
|
|
надо чтобы значение свойства ShowHint было True). |
|
ShowHint |
|
Разрешает (True) или запрещает (false) отображение |
|
|
|
подсказки при позиционировании указателя на кнопке. |
|
Цвет фона кнопки не меняется - его выбирает Windows.
Основное событие (Events) кнопки — OnClick, оно вызывается при нажатии на кнопку и используется для программирования реакции на нажатие.
Надписи
Надписи (Label) используются для отображения на форме текста без возможностей редактирования.
Чаще всего надписи применяются для создания подписей к другим элементов управления.
Свойства и методы компонента «надпись» инкапсулированы в классе
TLabel.
Основные свойства компонента TLabel
Свойство |
Тип |
Описание |
Alignment |
TAIignment = |
Определяет способ выравнивания текста по горизонтали; |
|
(taLeftJustify, |
• taRightJustify — по правому краю; |
|
taRightJustify, |
• taRightJustify — по правому краю; |
|
taCenter) |
• taCenter — по центру |
Layout |
TTextLayout = |
Определяет способ выравнивания текста по вертикали: |
|
(tITop, |
• tITop — по верхнему краю; |
|
tICenter, |
• tICenter — по центру; |
6
|
tIBottom) |
• tIBottom — по нижнему краю |
Autosize |
Boolean |
Если данное свойство равно true, то ширина и высота |
|
|
объекта Label автоматически изменяются таким образом, |
|
|
чтобы отобразить весь текст, заданный в свойстве Caption |
Transparent |
Boolean |
Если данное свойство равно true, то фон надписи будет |
|
|
прозрачным |
Wordwrap |
Boolean |
Если данное свойство установлено в true, то |
|
|
выполняется |
|
|
автоматический перенос текста на следующую строку |
Name |
|
Имя компонента. Используется в программе для доступа |
|
|
к компоненту и его свойствам. |
Caption |
|
Отображаемый текст. Свойство имеет строковый тип. |
Top |
|
Расстояние от верхней границы поля вывод до верхней |
|
|
границы формы. |
Left |
|
Расстояние от левой границы поля вывода до левой |
|
|
границы формы |
Height |
|
Высота поля вывода |
Width |
|
Ширина поля вывода |
Font |
|
Шрифт, используемый для отображения текста. |
|
|
Уточняющие свойства определяют способ начертания |
|
|
символов (Font.Name), размер (Font.Sise) и цвет |
|
|
символов (Font.Color) |
ParentFont |
|
Признак наследования компонентом характеристик |
|
|
шрифта формы, на которой находится компонент. Если |
|
|
значение свойства равно True, то текст выводится |
|
|
шрифтом, установленным для формы. |
Color |
|
Цвет фона области вывода текста |
Transparent |
|
Управляет отображением фона области вывода текста. |
|
|
Значение True делает область вывода текста прозрачной |
|
|
(область вывода не закрашивается цветом, заданным |
|
|
свойством Color) |
Visible |
|
Позволяет скрыть (False) текст или сделать его видимым |
|
|
(True) |
|
|
|
Основное свойство надписей — Caption, в котором задается выводимый текст.
Изменять значение этого свойства можно как во время разработки программы (в окне Object Inspector), так и во время выполнения программы.
Следует иметь в виду, что свойство Caption имеет строковый тип и ему, естественно, может быть присвоено только строковое значение.
Для вывода числовых значений с использованием надписей необходимо воспользоваться функциями преобразования чисел в строки:
IntToStr — преобразует целое число, заданное параметром, в строку;
FloatToStr — преобразует действительное число в соответствующее ему строковое представление;
FloatToStrF — преобразует действительное число в строку с возможностью форматирования.
7
Флажки
Флажки (Checkbox) представляют собой независимую кнопку (переключатель) и используются для выбора одного из двух вариантов.
Элемент «флажок» может находиться в одном из двух состояний: установлен (включен) или снят (выключен). У объектов Checkbox эти состояния устанавливаются независимо друг от друга, т.е. в группе может находиться несколько включенных элементов.
Установленный флажок помечается «галочкой».
Возможно и третье состояние флажка: «установлен и закрашен серым». Это состояние используется для того, чтобы показать, что флажок имеет
вложенные флажки, часть из которых установлена, а часть — нет.
Третье состояние флажков можно наблюдать, например, в программе установки Windows при выборе устанавливаемых компонентов.
Компоненту «флажок» соответствует класс TCheckBox. Флажки имеют три основных свойства:
Checked: boolean — показывает, установлен флажок или нет. Если данное свойство имеет значение true, то флажок установлен; если false, то флажок снят или установлен в «третье состояние»;
State: TCheckBoxState, тип данных определен так: TCheckBoxState = (cbUnchecked. cbChecked. cbGrayed) — определяет состояние флажка:
установлен (cbChecked), снят (cbUnchecked) или установлен и закрашен серым
(cbGrayed);
AllowGrayed: Boolean — определяет, может (true) или нет (false) флажок иметь «третье» состояние.
Флажки также имеют свойство Caption, с помощью которого может задаваться поясняющая надпись.
8
Флажки можно объединять в группы и располагать в группирующих элементах либо в панели переключателей (RadioGroup)
Переключатели
Переключатели (RadioButton) представляют зависимую кнопку, состояние которой определяется состоянием других кнопок группы и предназначены для выбора одного из нескольких альтернативных вариантов.
Свойства и методы данного компонента инкапсулированы в классе
TRadioButton.
Основным свойством переключателя является свойство Checked типа Воо1еап, которое показывает, выбран данный переключатель или нет.
Все переключатели, помещаемые в один контейнер (форма, фрейм и т. п.), считаются входящими в одну группу, из которой может быть выбран только один переключатель.
Если в диалоговом окне надо организовать несколько групп переключателей, то каждую группу следует представить компонентом
RadioGroup.
Свойство Caption класса TRadioButton используется для задания поясняющей надписи.
9
ПРИМЕЧАНИЕ ————————————————————————
Событие OnClick для компонента TRadioButton имеет одну особенность: оно вызывается только при выборе переключателя. Если переключатель уже выбран, то нажатие на нем левой кнопки мыши не вызовет события OnClick.
Класс TPanel, TGroupBox
Несколько функционально связанных элементов управления часто объединяют в одну группу.
GroupBox – представляет собой прямоугольное окно с рамкой и текстом в разрыве рамки, позволяет объединять любые элементы управления. Компоненты, которые необходимо разместить в GroupBox, должны быть помещены на форму позже, и внутри его. В отличие от панели может иметь заголовок.
Компоненты, которые необходимо разместить в GroupBox, должны быть помещены на форму позже, чем сам GroupBox; и соответственно внутри его.
Если вышло наоборот, то необходимо выделить эти компоненты, вырезать в буфер обмена Edit / Cut. Далее выбрать на форме объект GroupBox и
выполнить Edit / Paste.
Panel - прямоугольная область, которая может быть «вдавленной», выпуклой относительно формы, на которой она размещена. Объединяет в одну группу несколько функционально связанных элементов управления. Размещают на форму сначала панель, затем на нее другие компоненты. Разное оформление рамок: внешняя (BevelOuter)и внутренняя (BevelInner)
За текст отвечает свойство Caption, событие – Onclick.
Текстовые поля
Стандартное поле ввода, которое позволяет отображать и редактировать текст, т.е. строки символов. Возможность ввода текста с клавиатуры реализована в классе TEdit.
Элемент позволяет обрабатывать событие OnChange, вызываемое при изменении содержимого поля ввода.
С помощью полей ввода можно вводить только текстовую информацию. Если требуется вводить числа, то следует пользоваться функциями преобразования:
10
StrToInt (const S: string) – преобразует строку в число целого типа.
StrToIntDef (const S: string; default : Integer) – преобразует строку в целое число.
StrToFloat (const S: string) – преобразует строку в действительное
число.
Memo
Компонент Memo представляет собой элемент редактирования текста, который может состоять из нескольких строк.