- •ВВЕДЕНИЕ
- •Структура описания лабораторной работы
- •Выполнение работы
- •Форма отчета
- •Установка и запуск системы
- •Файлы проекта
- •ЛАБОРАТОРНАЯ РАБОТА 1
- •Цель работы
- •Основные сведения
- •Интерфейс системы
- •Меню и команды
- •Рис.1 Окна Delphi
- •Главное меню
- •Меню File
- •Меню Edit
- •Меню Search
- •Меню View
- •Меню Project
- •Команда Project+Options
- •Страница Compiler окна свойств проекта
- •Меню Run
- •Меню Tools
- •Команда Tools+Environment Options. страница Preferences
- •Команда Tools+Options, страница Display
- •Команда Tools+Options, страница Library
- •Команда Tools+Debugger Options, страница Language Exceptions
- •Получение помощи
- •Форма – Form
- •Поле метки – Label
- •Кнопка – Button
- •Выполнение работы
- •Создание программы
- •Настройка среды
- •Создать новый проект
- •Модификация свойств формы
- •Добавление элементов управления в форму
- •Добавление поля метки
- •Добавление кнопки
- •Окно редактора кода
- •Создание исполняемого модуля
- •Варианты заданий
- •ЛАБОРАТОРНАЯ РАБОТА 2
- •Цель работы
- •Основные сведения
- •Отладка программы
- •Управление последовательностью действий
- •Наблюдение (слежение) за переменными
- •Рис. 2. Диалоговое окно «Свойства наблюдаемого выражения»
- •Рис. 3. Окно «Список наблюдаемых значений»
- •Поле ввода – Edit
- •Выполнение работы
- •Задание
- •Создание формы
- •Расположение элементов управления в форме
- •Процедура обработки нажатия кнопки
- •Отладка программы
- •Варианты заданий
- •ЛАБОРАТОРНАЯ РАБОТА 3
- •Цель работы
- •Основные сведения
- •Компонент MainMenu
- •Рис.4. Окно построителя меню
- •Компонент ToolBar
- •Компонент ImageList
- •Рис 5. Окно контейнера изображений ImageList.
- •Компонент ActionList
- •Рис.6. Окно редактирования ActionList
- •Обработка исключительных ситуаций
- •Модальные окна
- •Пример выполнения
- •Задание
- •Главная форма приложения
- •Рис.7. Главная форма проекта
- •Модальные окна
- •Рис.8. Модальные формы проекта
- •Варианты заданий
- •ЛАБОРАТОРНАЯ РАБОТА 4
- •Цель работы
- •Основные сведения
- •Флажок – Check Box
- •Переключатели – Radio Button
- •Список – List Box
- •Комбинированный список – Combo Box
- •Кнопка с рисунком – BitBtn
- •Выполнение работы
- •Задание
- •Проектирование
- •Создание формы
- •Рис.9. Главное окно проекта
- •Расположение элементов управления в форме
- •Процедуры обработки
- •Кнопка добавления слова
- •Кнопка удаления слова
- •Отображение выбранного элемента списка
- •Варианты заданий
- •ЛАБОРАТОРНАЯ РАБОТА 5
- •Цель работы
- •Основные сведения
- •Класс TFont
- •Класс TPen
- •Класс TBrush
- •Класс TCanvas
- •Компонент Image
- •Компонент Timer
- •Стандартный диалог ColorDialog
- •Стандартный диалог FontDialog
- •Пример выполнения работы
- •Рис. 10. Главная форма проекта примера
- •Варианты заданий
- •ЛАБОРАТОРНАЯ РАБОТА 6
- •Цель работы
- •Основные сведения
- •Класс TStringList
- •Основные приемы использования списка TStringList.
- •Работа с текстовыми файлами
- •Основные приемы работы с текстовым файлом
- •Стандартные диалоги открытия и сохранения файла
- •Пример выполнения работы
- •Рис 11. Главная форма проекта
- •Рис.12. Запрос фамилии владельца
- •Варианты заданий
- •СОДЕРЖАНИЕ
– 26 –
фикации номера телефона. Обеспечить возможность разрешения/запрещения модификации номера телефона.
3.По нажатию на кнопку один список (ListBox) заполняется последовательностью целых чисел от .. до .., диапазон задается в двух полях ввода. Выбор элемента в этом списке копирует его в другой список (ListBox). Еще одна кнопка служит для очистки списков. Причем выбор очищаемого списка осуществляется с помощью переключателей
(RadioButton).
ЛАБОРАТОРНАЯ РАБОТА 5
Цель работы
Целью работы являются:
•изучение графических инструментов Delphi: шрифта, пера и кисти;
•использование компонента Timer, компонента Image и его свойства Canvas;
•использование стандартных диалогов ColorDialog и FontDialog.
Основные сведения
Для создания изображений Delphi поддерживает три основных инструментов – шрифта, пера и кисти. Шрифт создается при помощи класса TFont и используется для прорисовки текста. Перо создается при помощи класса TPen и предназначено для рисования линий. Для создания кисти используется класс TBrush. При помощи кисти реализуется заливка замкнутых областей каким-либо цветом или рисунком. Рисование графическими инструментами производится на канве (холсте), для создания которой предназначен класс TCanvas. Канву имеют практически все визуальные компоненты. В работе рассматривается компонент Image (страница Standard) специально предназначенный для вывода графических изображений.
Помимо графических инструментов в работе рассматривается компонент Timer, предназначенный для реализации повторяющихся с некоторым интервалом времени действий. А также стандартный диалог ColorDialog, реализующий выбор цвета.
Класс TFont
Основные свойства класса TFont.
•Color : TColor. Задает цвет шрифта.
•Name : TFontName. Задает имя используемого шрифта (Arial, Courier и т.п.).
•Size : Integer. Задает размер шрифта в пунктах.
•Style : TFontStyle. Определяет стиль шрифта. Это множество, элементами которого могут быть константы: fsBold – жирный, fsItalic – курсив, fsUnderline – подчеркнутый, fsStrikeOut – перечеркнутый.
Класс TPen
Основные свойства класса TPen.
•Color : TColor. Задает цвет рисуемой линии.
•Width : Integer. Задает ширину линии в пикселях.
•Style : TPenStyle. Задает стиль линии. Стиль задается одной из констант: psSolid – сплошная линия, psDash – штриховая, psDot – пунктирная, psDashDot – штрихпунктирная, psDashDotDot- штрих и два пунктира, psClear – пустая линия. Это свойство актуально только для линий толщиной в 1 пиксел.
•Mode : TpenMode. Задает способ взаимодействия линии с фоновым изображением. Существует 16 вариантов значений этого свойства. Наиболее простыми являются: pmCopy – линии всегда выводятся поверх фона, pmXor – цвет линии получается операцией XOR цветов фона и пера, благодаря чему повторное рисование этой же самой линии восстанавливает цвет фона.
Калачев Д.П., Лутай В,Н,. Скороход С.В. Delphi. Лабораторные работы.
– 27 –
Класс TBrush
Основные свойства класса TBrush.
•Color : TСolor. Задает цвет кисти.
•Style : TBrushStyle. Задает стиль заливки. Значением является одна из констант: bsSolid
– сплошная заливка, bsClear – пустая заливка, bsBDiagonal, bsFDiagonal, bsCross, bsDiagCross, bsGorizontal, bsVertical – различные виды штриховок.
•Bitmap : Tbitmap. Задает растровое изображение, которым производится заливка. При этом свойства Color и Style игнорируются.
Класс TCanvas
Данный класс позволяет описать канву (холст), на котором происходит рисование шрифтом, пером и кистью. Компоненты, допускающие рисование, имеют свойство
Canvas:TCanvas.
Основные свойства класса.
•Brush : TBrush. Кисть канвы.
•Font : TFont. Шрифт канвы.
•Pen : TPen. Перо канвы.
•ClipRect : TRect. Текущие размеры канвы. Тип TRect определен так:
Type |
= Record |
|
|
TPoint |
|
|
|
X,Y: LongInt |
|
|
|
end; |
|
|
|
TRect = Record |
of |
|
|
case Integer |
|
||
0: ( Left, |
Top, Right, Bottom ) : Integer; |
||
1: ( TopLeft, BottomRight ) |
: Tpoint |
||
end; |
|
|
|
При рисовании следует использовать координаты, выражаемые через значения этого свойства.
•PenPos : TPoint. Координаты текущего положения пера.
•Pixels[ X,Y : Integer ] : TColor. Массив пикселей канвы. С его помощью можно получить или установить цвет произвольного пикселя. Однако попиксельное формирование изображений через это свойство происходит медленно и неэффективно.
Канва имеет набор методов, позволяющих рисовать примитивные изображения.
•Arc( X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Integer ). Рисует против часовой стрелки дугу эллипса, вписанного в прямоугольник (X1,Y1) – (X2,Y2). Начало и конец дуги находятся на пересечении эллипса и прямых, проведенных из центра эллипса соответственно в точки
(X3,Y3) и (X4,Y4).
•Chord( X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Integer ). Рисует дугу эллипса аналогично методу Arc и
соединяет линией её концы.
•Pie( X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Integer ). Рисует дугу эллипса аналогично методу Arc и со-
единяет линией её концы с центром эллипса.
•Ellipse( X1,Y1,X2,Y2 : Integer ). Рисует эллипс, вписанный в прямоугольник (X1,Y1) – (X2,Y2), и заливает его текущей кистью.
•FrameRect( R : TRect ). Рисует прямоугольник с координатами R с толщиной линии в 1 пиксель.
•Rectangle( X1,Y1,X2,Y2 : Integer ). Рисует прямоугольник (X1,Y1) – (X2,Y2) и запол-
няет его текущей кистью.
•LineTo( X, Y : Integer ). Рисует линию из текущего положения пера в точку (X,Y).
•MoveTo( X, Y : Integer ). Перемещает перо в точку (X,Y).
•PolyLine( P : TPoint ). Рисует ломаную по точкам, заданным в массиве P.
Калачев Д.П., Лутай В,Н,. Скороход С.В. Delphi. Лабораторные работы.
– 28 –
•Polygon( P : TPoint ). Рисует ломаную по точкам, заданным в массиве P. Соединяет начальную точку с конечной и заливает многоугольник текущей кистью.
•FloodFill( X, Y : Integer; Color : TColor; FillStyle : TfillStyle ). Начиная с точки (X,Y) зали-
вает канву текущей кистью. Если FillStyle=fsSurface, то заливка распространяется на все соседние точки цвета TColor. Если FillStyle=fsBorder, то заливка останавливается на точках цвета TColor.
•TextOut( X,Y: Integer; Text : String ). Выводит строку Text так, чтобы левый верхний угол охватывающего её прямоугольника располагался в точке (X,Y).
•TextHeight( Text : String) : Integer. Возвращает высоту в пикселях прямоугольника, охватывающего строку Text.
•TextWidth( Text : String) : Integer. Возвращает ширину в пикселях прямоугольника, охватывающего строку Text.
Компонент Image
Компонент находится на странице Additional и предназначен для отображения 3 видов изображений: растровой картинки (класс TBitMap), пиктограммы (класс TIcon) и метафайла
(класс TMetafile).
Основные свойства компонента.
•Picture : TPicture. Содержит картинку в одном из трех упомянутых форматов.
•Canvas : TCanvas. Канва компонента. Рисование на канве возможно только в том случае, если компонент отображает растровую картинку.
Компонент Timer
Находится на странице System и предназначен для реализации повторяющихся действий, которые должны выполняться через определенный промежуток времени. При работе с графикой этот компонент является удобным средством для динамической перерисовки изображения и создания движущегося графического изображения.
Основные свойства компонента.
•Interval : Integer. Задает интервал времени в миллисекундах, через который выполняются действия, предусмотренные таймером.
•Enabled : Boolean. Определяет состояние таймера. True – таймер включен, False – таймер выключен.
•С таймером связано событие OnTimer, обработчик которого выполняется через заданный интервал времени.
Стандартный диалог ColorDialog
Расположен на странице Dialogs и предназначен для выбора цвета. Компонент помещается на форму, а в нужный момент диалог запускается на выполнение методом Execute:
ИмяДиалога.Execute;
Метод возвращает True, если цвет выбран и нажата кнопка Ok, и False, если нажата кнопка Cancel. Выбранный цвет находится в свойстве Color:TColor.
Стандартный диалог FontDialog
Вызывается аналогично диалогу ColorDialog. Используется для выбора параметров объекта типа TFont. Основные свойства диалога.
•MinFontSize : Integer. Задает минимальный размер выбираемого шрифта в пунктах (значение 0 означает отсутствие ограничения).
•MaxFontSize : Integer. Задает максимальный размер выбираемого шрифта в пунктах (значение 0 означает отсутствие ограничения).
•Font : TFont. Содержит параметры выбранного шрифта.
Калачев Д.П., Лутай В,Н,. Скороход С.В. Delphi. Лабораторные работы.