- •Лабораторная работа № 1 Среда программирования Delphi. Линейные алгоритмы
- •Краткие теоретические сведения
- •Графическая среда разработки Delphi
- •Компоненты
- •Обработка событий
- •Редактор кода
- •Компиляция
- •Отладка
- •Структура проекта
- •Сохранение проекта
- •Идентификаторы, операторы
- •Типы данных
- •Переменные
- •Константы
- •Выражение
- •Оператор присваивания
- •Комментарии
- •Стандартные функции
- •Ввод данных
- •Вывод результатов
- •Вывод в окно сообщения
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 2 Программирование алгоритмов разветвляющейся структуры
- •Краткие теоретические сведения
- •Условие
- •Структура ветвления
- •Компонент Memo
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 3 Операторы цикла. Создание изображений
- •Краткие теоретические сведения
- •Создание изображений
- •Класс tFont
- •Класс tPen
- •Класс tBrush
- •Компонент Image
- •Компонент Shape
- •Компонент Timer
- •Методы вычерчивания графических примитивов.
- •Порядок выполнения работы Пример1. Использования оператора цикла while
- •Пример2. Создание простейшего изображения.
- •Пример создания заставки
- •Пример 3. Создание приложения, содержащего круговую диаграмму.
- •Содержание отчета
- •Варианты заданий
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 4 Одномерные массивы. Цикл с параметром
- •Краткие теоретические сведения
- •Объявление массива
- •Цикл с параметром
- •Инициализация массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Создание меню
- •Компонент tMainMenu
- •Диалоговые панели File Open и File Save
- •Вывод в файл
- •Открытие файла для записи
- •Закрытие файла
- •Ввод из файла
- •Открытие файла для чтения
- •Чтение чисел
- •Поиск минимального (максимального) элемента массива
- •Поиск в массиве заданного элемента
- •Сортировка массива
- •Порядок выполнения работы
- •Пример 2. Разработка диалоговой программы для работы с произвольным массивом вещественных чисел.
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 5 Двумерные массивы. Вложенные циклы.
- •Краткие теоретические сведения
- •Объявление матриц
- •Инициализация двумерного массива
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6 Функциональная и интерфейсная эмуляция формы
- •Краткие теоретические сведения
- •Компонент Image
- •Многостраничный блокнот — компоненты tTabControl и tPageControl
- •Компоненты tTreeView w tListView
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
Создание изображений
В Delphi имеется несколько классов общего назначения, позволяющих выводить графические изображения на поверхность компонентов. К ним относятся классы: TFont (шрифт), ТРеn (карандаш), TBrush (кисть) и TCanvas (канва). Предком классов TFont, TPen и TBrush является класс TGraphicsObject, происходящий непосредственно от класса TPersistent. Предком класса TCanvas является класс TPersistent. В составе многих компонентов Delphi имеются свойства Font, Pen, Brush и Canvas соответствующего типа, при помощи которых создаются изображения любых рисунков и текстов.
При изменении графического объекта возникает событие OnChange. После возникновения этого события графические объекты отображаются с обновленными значениями своих свойств.
В Delphi имеются компоненты, специально предназначенные для создания графических изображений:
TImage – представляет собой удобное средство для отображения готовых графических файлов.
TShape – используется для создания на форме простых геометрически фигур: квадратов, кругов, эллипсов и т.п.
TPaintBox – позволяет на этапе выполнения программы создавать несложные рисунки на своей канве Canvas.
Класс tFont
Класс TFont определяет характеристики шрифта, и свойства, имеющие этот классовый тип, присутствуют в любом компоненте, который может содержать некоторый текст. Характеристики шрифта в классе TFont задаются при помощи следующих свойств:
Charset – определяет набор символов шрифта. Ниже перечислены некоторые константы, которые могут быть использованы в качестве значения свойства Charset:
ANSI_CHARSET – символы ANSI.
DEFAULT_CHARSET – задается по умолчанию. Шрифт выбирается только по его имени Name и размеру Size. Если описанный шрифт недоступен в системе, Windows заменит его другим шрифтом.
SYMBOL_CHARSET – стандартный набор символов.
MAC_CHARSET – символы Macintosh.
GREEK_CHARSET – греческие символы.
RUSSIAN_CHARSET – символы кириллицы.
OEM_CHARSET – определяется кодовой таблицей операционной системы.
Color – определяет цвет символов.
Height – устанавливает высоту шрифта в пикселях.
Name – задает имя шрифта.
Pitch – задает ширину шрифта и может принимать следующие значения:
fpDefault – ширина задается типом шрифта,
fpVariable – ширина символов переменная,
fpFixed – ширина символов фиксированная.
Size – задает высоту шрифта в пунктах (1 пункт = 1/72 дюйма).
Style – задает тип шрифта и в качестве значения может принимать любое множество следующих величин:
fsBold – полужирный,
fsltalic – курсив,
fsUnderline – подчеркнутый,
fsStrikeOut – перечеркнутый.
Следует иметь в виду, что тексты в Delphi пишутся только горизонтально.
Класс tPen
Класс ТРеn задает характеристики карандаша, при помощи которого создаются изображения различных линий либо контуров.
Основные свойства класса ТРеn:
Color – определяет цвет линии, рисуемой карандашом. По умолчанию цвет черный.
Mode – определяет стиль рисования линий карандашом. Может принимать следующие значения:
pmBlack – всегда изображается черная линия;
pmWhite – всегда изображается белая линия;
pmNop – бесцветная линия;
pmNot – цвет, инверсный цвету экрана;
pmCopy – цвет определяется значением свойства Color;
pmNotCopy – цвет, инверсный цвету, заданному в свойстве Color;
pmMergePenNot – комбинация цвета Color и инверсного цвета экрана;
pmMaskPenNot – комбинация цветов, общих у Color и инверсного цвета экрана;
pmMergeNotPen – комбинация цвета экрана и инверсного цвета Color;
pmMaskNotPen – комбинация цветов, общих у цвета экрана и инверсного цвета и Color;
pmMerge – комбинация цветов экрана и Color;
pmNotMerge – цвет, инверсный комбинации цветов экрана и Color;
pmMask – комбинация цветов, общих у экрана и Color;
pmNotMask – цвет инверсный комбинации цветов, общих у экрана и Color;
pmXor – комбинация цветов, присутствующих у цвета экрана или Color, но не одновременно у обоих;
pmNotXor – цвет, инверсный комбинации цветов, присутствующих у цвета экрана или Color, но не одновременно у обоих.
По умолчанию цвет линии определяется свойством Color.
Style – определяет стиль линии, рисуемой карандашом. Может принимать следующие значения:
psSolid – сплошная линия (значение по умолчанию);
psDash – штриховая линия;
psDot – пунктирная линия;
psDashDot – штрихпунктирная линия;
psDashDotDot – штрихпунктирная линия с двумя пунктирами;
psClear – невидимая линия;
psInsideFrame – линия внутри замкнутой рамки.
Width – определяет толщину рисуемой линии. Значением по умолчанию является толщина, равная 1 пикселю.