Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная работа 2

.pdf
Скачиваний:
11
Добавлен:
18.03.2016
Размер:
2.18 Mб
Скачать

1

Лабораторная работа № 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 представляет собой элемент редактирования текста, который может состоять из нескольких строк.