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

Ситкин. Информатика. Программирование в DELPHI

.pdf
Скачиваний:
142
Добавлен:
18.07.2019
Размер:
1.49 Mб
Скачать

Обычно первым делом изменяют установленное по умолчанию значение свойства Caption, меняя значение «Form1» на своё. Следует различать имя формы (свойство Name) и заголовок формы (свойство

Caption), изначально значения этих свойств совпадают. Рекомендуется не изменять значение свойства Name. Некоторые свойства являются сложными их значения определяются совокупностью других значе-

ний, перед именами таких свойств стоит знак «+». Ширину и высоту формы, а также её положение на экране можно устанавливать мышью как обычное окно Windows. Положение формы на экране после запус-

ка уже готового приложения будет соответствовать положению, за-

нимаемому формой на стадии разработки проекта.

Компоненты формы и их свойства

В главном окне Delphi 7 в верхней части экрана расположена палитра компонентов (рис. 1.3), состоящая из нескольких вкладок (Standard, Additional и др.), на которых расположены пиктограммы компонентов. По умолчанию открыта вкладка Standard палитры.

палитра компонентов, вкладка Standard

Рис. 1.3

Для добавления компонента на форму щёлкают его пиктограм-

му на палитре компонентов, затем повторно щёлкают в точке формы,

где должен располагаться левый верхний угол компонента. После установки компонента его положение на форме и размеры можно из-

11

менить мышью. Просмотр свойств компонента и их редактирование осуществляют в окне редактора свойств объекта Object Inspector, вкладка Properties. В верхней части окна указано имя объекта (компо-

нента или формы), чьи свойства отображаются в текущий момент

(рис. 1.2). Выбор объекта, свойства которого нужно отредактировать,

осуществляют из раскрывающегося списка редактора Object Inspector или активацией (щелчком мышью) соответствующего компонента или формы. В левой колонке перечислены свойства, а в правой указа-

ны их значения. Для изменения нужного свойства щёлкают его имя и в правом поле вводят нужное значение с клавиатуры или выбирают его из раскрывающегося списка, если такой предусмотрен для данно-

го свойства. Как и для формы, некоторые свойства являются сложны-

ми, перед их именами стоит знак «+».

Компонент Label (поле вывода)

Предназначен для вывода на форму текстовых надписей. Ос-

новные свойства компонента представлены в табл. 1.2.

 

 

Таблица 1.2

 

Основные свойства компонента Label

 

 

 

 

Свойство

Описание

 

Name

Имя компонента. Используется

для доступа к

компоненту и его свойствам

 

 

 

Caption

Отображаемый текст

 

+ Font

Характеристики шрифта текста

 

ParentFont

True/False Наследование характеристик шрифта

текста формы

 

 

 

WordWrap

True/False Возможность переноса слов на сле-

дующую строку

 

 

 

AutoSize

True/False Автоподбор размера

компонента по

его содержимому

 

 

 

12

Для вывода текстовых сообщений можно использовать окно со-

общения (рис. 1.4), появление которого на экране обеспечивается записью в программном коде

ShowMessage('Текст сообщения');.

В строке заголовка выводится название проекта. В

Рис. 1.4 момент появления окна сообщения на экране вы-

полнение приложения приостанавливается. После щелчка на кнопке

«ОК» окно сообщения закрывается, и приложение работает далее.

Использовать вывод данных в окно сообщения можно порекомендо-

вать в тех случаях, когда нужно обратить особое внимание пользова-

теля, например, на совершённую им ошибку, т.к. окно появляется на первом плане.

Компонент Edit (однострочное редактируемое поле)

Предназначен для ввода (вывода) и редактирования строки тек-

ста. Основные свойства компонента представлены в табл. 1.3.

 

 

Таблица 1.3

 

Основные свойства компонента Edit

 

 

 

Свойство

 

Описание

Name

Имя компонента.

Используется для доступа к

компоненту и его свойствам

 

Text

Текст в поле редактирования

+ Font

Характеристики

шрифта, используемого для

отображения текста

 

ParentFont

True/False Наследование характеристик шрифта

текста формы

 

 

 

Понятие редактируемое поле означает, что его содержимое мо-

жет быть изменено во время выполнения приложения с клавиатуры.

13

Компонент LabeledEdit

вкладка additional

(однострочное редактируемое поле с меткой)

Предназначен для ввода (вывода) и редактирования строки тек-

ста. По функциональному назначению представляет собой объединение компонентов Label и Edit. Обычно в поле метки поясняют, что сле-

дует ввести в редактируемое поле или что выводится в него. Пиктограмма компонента расположена на вкладке Additional палитры компонентов. Основные свойства компонента LabeledEdit представлены в табл. 1.4.

Таблица 1.4

Основные свойства компонента LabeledEdit

Свойство

 

Описание

 

Name

Имя компонента. Используется для доступа к

компоненту и его свойствам

 

 

 

+EditLabel.Caption

Текст в поле метки

 

.+ Font

Характеристики шрифта текста в поле метки

.ParentFont

True/False Наследование характеристик

 

шрифта текста формы

 

.WordWrap

True/False Возможность переноса слов в поле

 

метки на следующую строку

 

 

Определяет позицию метки относительно ре-

LabelPosition

дактируемого

поля: Above

(сверху); Below

 

(снизу); Left (слева); Right (справа)

LabelSpacing

Расстояние от метки до редактируемого поля в

пикселях

 

 

 

 

 

Text

Текст в редактируемом поле (поле ввода)

+ Font

Характеристики шрифта, используемого для

отображения текста в редактируемом поле

 

ParentFont

True/False

Наследование

характеристик

шрифта текста формы редактируемого поля

 

Компоненты Edit и LabeledEdit можно использовать и для вывода

данных, однако интуитивно они привычнее для их ввода.

14

Компонент Memo (многострочное редактируемое поле)

Предназначен для ввода, вывода и редактирования многостроч-

ного текста. Основные свойства компонента представлены в табл. 1.5.

 

 

Таблица 1.5

 

Основные свойства компонента Memo

 

 

 

Свойство

 

Описание

Name

Имя компонента.

Используется для доступа к

компоненту и его свойствам

 

Text

Текст в поле как единое целое

 

Текст в поле как отдельные строки текста. Доступ

Lines

к строке осуществляется по номеру в квадратных

 

скобках. Нумерация строк от нуля.

Lines.Count

Количество строк текста в поле

+ Font

Характеристики

шрифта, используемого для

отображения текста

 

ParentFont

True/False Наследование характеристик шрифта

текста формы

 

 

 

Компонент ListBox (список выбора)

Предназначен для формирования многострочного текстового

списка. Основные свойства компонента представлены в табл. 1.6.

 

 

 

Таблица 1.6

 

Основные свойства компонента ListBox

 

 

 

 

Свойство

 

 

Описание

Name

 

Имя компонента.

Используется для доступа к

 

компоненту и его свойствам

 

 

Items

 

Элементы списка

 

ItemIndex

 

Номер выбранного элемента в списке. Нумерация

 

от нуля

 

 

 

 

+ Font

 

Характеристики

шрифта, используемого для

 

отображения элементов списка

 

 

ParentFont

 

True/False Наследование характеристик шрифта

 

текста формы

 

 

 

 

15

Компонент ComboBox (раскрывающийся список выбора)

Предназначен для формирования многострочного раскрываю-

щегося текстового списка. Состоит из двух частей: однострочного ре-

дактируемого поля (верхняя строка компонента) и самого раскрыва-

ющегося списка. Позволяет ввести данные либо непосредственно в редактируемое поле, либо путём выбора из раскрытого списка. Ос-

новные свойства компонента представлены в табл. 1.7.

 

 

Таблица 1.7

Основные свойства компонента ComboBox

 

 

 

Свойство

 

Описание

Name

Имя компонента.

Используется для доступа к

компоненту и его свойствам

 

Text

Текст в редактируемом поле

Items

Элементы списка

 

ItemIndex

Номер выбранного элемента в списке. Нумерация

от нуля

 

 

 

DropDownCount

Количество отображаемых элементов в раскры-

том списке

 

+ Font

Характеристики

шрифта, используемого для

отображения элементов списка

 

ParentFont

True/False Наследование характеристик шрифта

текста формы

 

 

 

Строки текста у компонента Memo и списки выбора как у компонента ListBox, так и у компонента ComboBox могут быть сформированы как на стадии разработки формы, так и во время работы приложения.

Для формирования списков первым способом следует в окне редакто-

ра свойств объекта Object Inspector для компонента Memo выбрать свойство Lines, а для ListBox или ComboBox свойство Items и щёлкнуть на кнопке запуска редактора списка строк (рис. 1.5). Каждый элемент списка вводят на отдельной строке и завершают нажатием клавиши

16

Enter , кроме последнего. Завершают формирование списка щелч-

ком по кнопке «ОК».

0

1 нумерация

N-1

кнопка запуска редактора строк

String List Editor

или Lines у Memo

Рис. 1.5

Компонент Button (командная кнопка)

Предназначен для управления выполнением приложения. Ос-

новные свойства компонента представлены в табл. 1.8.

Таблица 1.8

 

Основные свойства компонента Button

 

 

 

Свойство

 

Описание

Name

 

Имя компонента. Используется для доступа к

 

компоненту и его свойствам

 

 

Caption

 

Текст на кнопке

Enabled

 

True/False Доступность кнопки

WordWrap

 

True/False Возможность переноса слов на сле-

 

дующую строку

 

 

Большинство значений свойств объектов может быть переопре-

делено программным кодом по ходу выполнения приложения. Доступ

к свойству объекта программным кодом осуществляется в формате

17

Имя_объекта.Имя_свойства Значение ;

например, Label1.Caption 'Мой проект';.

Событие и процедура обработки события

Одной из основ событийного программирования является собы-

тийное управление. Это означает, что порядок выполнения команд,

обычно разбитых по группам, определяется порядком возникновения событий. Событие это то, что происходит во время выполнения приложения. Например, загрузка или закрытие приложения, щелчок мышью по форме или компоненту формы, перемещение указателя мыши по объекту, изменение содержимого поля всё это примеры событий. События наступают в результате действий пользователя,

операционной системы или по логике разработанного приложения.

Некоторые события описаны в табл. 1.9.

Таблица 1.9

 

Некоторые события в Windows

 

 

Событие

Возникает

OnCreate

При загрузке формы (приложения)

OnActivate

 

OnClose

При закрытии формы (приложения)

OnDeactivate

 

OnClick

При щелчке мышью

OnDblClick

При двойном щелчке мышью

OnMouseDown

При нажатии кнопки мыши

OnMouseUp

При отпускании кнопки мыши

OnMouseMove

При перемещении мыши

OnEnter

При получении компонентом фокуса

OnExit

При потере компонентом фокуса

OnChange

При изменении содержимого компонента

(например, содержимого редактируемого поля)

 

OnKeyPress

При нажатии клавиши клавиатуры

18

При разработке проекта задача программиста определить ре-

акцию на то или иное событие, т.е. что должно быть выполнено, если наступило событие. Для этого необходимо создать процедуру обра-

ботки события. Сначала определяют уже созданный объект, для ко-

торого создаётся процедура обработки события (например, командная кнопка Button1), активируя его щелчком мыши по нему или по его имени в дереве объектов Object Tree View или выбором из раскры-

вающегося списка окна Object Inspector. Затем в окне редактора Object Inspector выбирают вкладку Events (рис. 1.6). Слева перечислены

двойной щелчок

шаблон процедуры

Рис. 1.6

имена событий, которые доступны для выбранного объекта, справа имена назначенных процедур (сначала никаких имён процедур нет).

Исходя из логики проекта, определяют событие для выбранного объ-

екта и выполняют двойной щелчок мышью в поле имени процедуры обработки выбранного события (правая колонка). В результате откро-

ется окно редактора кода Unit1.pas с помещённым в него шаблоном процедуры. Процедуре автоматически присваивается имя из двух ча-

стей: первая идентифицирует форму, содержащую объект, вторая сам объект и событие, например, TForm1.Button1Click. По имени можно

19

определить, что процедура будет вызвана на выполнение, когда произойдёт событие OnClick по компоненту Button1, расположенному на форме Form1. Между словами begin и end прописывают операторы, которые должны быть выполнены по данной процедуре.

Пример 1.1

Разработаем простейший проект для ввода с формы фамилии студента и номера его группы и их вывода на эту же форму при наступлении некоторых событий.

После запуска Delphi в окне Object Inspector изменим значение свойства формы Caption на «Ввод-вывод данных».

Для ввода фамилии разместим на форме компонент Edit и в окне

Object Inspector обнулим значение свойства Text, чтобы на момент запуска приложения поле для ввода фамилии было пустым.

Рядом с компонентом Edit разместим на форме компонент Label, в окне Object Inspector изменим значение свойства Caption на «Фамилия» это поможет будущему пользователю нашего приложения понять, что следует ввести в компонент Edit.

Для ввода номера группы поместим на форму компонент LabeledEdit, в поле метки (свойство +EditLabel.Caption) запишем «Группа».

Для вывода введённого значения фамилии разместим на форме компонент Label, а для номера группы компонент Memo. Обнулим соответственно значения свойств Caption и Lines этих компонентов.

Вынесем на форму ещё два компонента Button, изменив значение свойства Caption на «Вывести фамилию» и Label, изменив значение свойства Caption на «Щёлкни по форме для вывода № группы».

Получившийся примерный вид формы изображён на рис. 1.7.

20