Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Введение в среду визуального программирования Turbo Delphi. Часть 2

Покупка
Новинка
Артикул: 842087.01.99
Доступ онлайн
800 ₽
В корзину
Пособие является практическим руководством для освоения среды визуального программирования Turbo Delphi. В нем рассмотрены особенности разработки простых графических приложений. Пособие отличается доступностью изложения, наглядными примерами и адресовано студентам младших курсов всех специальностей университета, владеющим основами программирования на языке Паскаль. Для студентов первого курса МГТУ им. Н.Э. Баумана, изучающих дисциплину «Информатика».
Введение в среду визуального программирования Turbo Delphi. Часть 2 : учебное пособие / С. В. Борисов, С. С. Комалов, О. Б. Пащенко, И. Л. Серебрякова ; под. ред. Б. Г. Трусова. - Москва : Изд-во МГТУ им. Баумана, 2011. - 100 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2169199 (дата обращения: 20.09.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет 
имени Н.Э. Баумана 
 
 
 
 
 
ВВЕДЕНИЕ В СРЕДУ  
ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ  
TURBO DELPHI 
Часть 2 
Под редакцией Б.Г. Трусова 
Рекомендовано Научно-методическим советом  
МГТУ им. Н.Э. Баумана в качестве учебного пособия  
по программированию для изучающих дисциплину «Информатика» 
Москва 
Издательство МГТУ им. Н.Э. Баумана 
2011 


УДК 681.3.06(075.8) 
ББК 32.973.26-018.2 
        В24 
Рецензенты: Г.И. Ревунков, В.М. Семин 
В24 
Введение в среду визуального программирования  Turbo 
Delphi : учеб. пособие. – Ч. 2 / С.В. Борисов, С.С. Комалов, 
О.Б. Пащенко, И.Л. Серебрякова ; под ред. Б.Г. Трусова. – М. : 
Изд-во МГТУ им. Н.Э. Баумана, 2011. – 99, [1] с. : ил. 
 
Пособие является практическим руководством для освоения среды визуального программирования Turbo Delphi. В нем рассмотрены 
особенности разработки простых графических приложений. 
Пособие отличается доступностью изложения, наглядными 
примерами и адресовано студентам младших курсов всех специальностей университета, владеющим основами программирования 
на языке Паскаль. 
Для студентов первого курса МГТУ им. Н.Э. Баумана, 
изучающих дисциплину «Информатика». 
                                                                                            УДК 681.3.06(075.8) 
                                                                                            ББК 32.973.26-018.2 
Учебное издание 
Борисов Станислав Васильевич  
Комалов Сергей Сергеевич 
Пащенко Олег Борисович  
Серебрякова Ирина Леонидовна  
ВВЕДЕНИЕ В СРЕДУ  
ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ  
TURBO DELPHI  
Часть 2 
Редактор С.А. Серебрякова 
Корректор Е.В. Авалова 
Компьютерная верстка О.В. Беляевой 
Подписано в печать 27.10.2011. Формат 6084/16. Бумага офсетная. 
Усл. печ. л. 5,81. Тираж 100 экз. Изд. № 58. Заказ 
Издательство МГТУ им. Н.Э. Баумана. 
Типография МГТУ им. Н.Э. Баумана. 
105005, Москва, 2-я Бауманская ул., 5. 
 МГТУ им. Н.Э. Баумана, 2011 


ВВЕДЕНИЕ 
Пакет Turbo Delphi – это среда разработки приложений, ориентированных на работу в операционных системах Microsoft Windows 2000 Professional, Micrоsoft Windows XP Professional или Microsoft Windows Server 2003. 
В пособии использована версия Turbo Delphi Explorer, предназначенная для обучения программированию. 
Авторы надеются, что читатель как минимум ознакомился с 
информацией, представленной в первой части учебного пособия 
«Введение в среду визуального программирования Turbo Delphi». 
Данная работа посвящена созданию графических приложений 
в рамках визульной среды и ориентирована на начинающих программистов. 
В пособии приведено достаточное количество наглядных примеров, позволяющих легко разобраться с особенностями программирования реальных задач. Каждый раздел содержит краткие информационные сведения, постановку задачи, описание необходимых для ее 
реализации средств, соответствующего кода и комментариев к нему. 
Предлагаемое пособие адресовано студентам МГТУ им. Н.Э. Баумана, изучающим общеуниверситетскую дисциплину «Информатика» 
на первом курсе обучения, и может послужить дополнительным вспомогательным материалом при самостоятельном освоении графических возможностей среды Turbo Delphi. 
 
 
3 


1. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ TURBO DELPHI 
Среда визуального программирования предоставляет пользователю возможность разрабатывать приложения, которые могут выводить графику:  схемы, чертежи, графики, текст и рисунки. Основными источниками информации о компонентах среды и связанных с 
ними свойствах и методах являются файлы системы-помощника 
Help Turbo Delphi и самоучитель [1]. 
1.1. Основные понятия 
Приложение может выводить графику на поверхность объекта – 
формы или компонента. Существует ряд специальных компонентов 
для вывода готовых изображений (рисунков или фотографий) из графических файлов (компонент Image), некоторых геометрических фигур (компонент Shape). Изображения, формируемые приложением, 
можно выводить на поверхность формы или компонентов Image и 
PaintBox. 
Поверхности объекта соответствует свойство Canvas. В свою 
очередь, свойство Canvas (канва, холст) – это объект класса 
TСanvas. Методы этого типа обеспечивают вывод графических 
примитивов (точек, линий, окружностей, прямоугольников и т. п.), 
а свойства позволяют задавать характеристики  выводимых графических примитивов (цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта  при выводе текстовой 
информации). 
Канва состоит из отдельных точек – пикселей – и имеет свойство Pixels, которое содержит информацию о цвете каждой точки 
графической поверхности и представляет собой матрицу класса 
TColor. Положение пикселя характеризуется его горизонтальной 
(x) и вертикальной (y) координатами. Начало системы координат 
канвы находится в левом верхнем углу компонента или формы 
(координата x возрастает при перемещении слева направо, а координата y – при перемещении сверху вниз). Значения координат 
 
4 


Рис.1. Координаты точек канвы 
(холста) 
правой нижней точки поверхно- 
сти вывода зависят от размера 
канвы (рис. 1), который можно 
установить с помощью «Инспектора объектов» или задать 
программно, 
обратившись 
к 
свойствам Height и Width компонентов или к свойствам формы ClientHeight и ClientWidth. 
Важнейшее свойство пикселя – его цвет (Color). Для описания цвета применяется класс 
TColor. Свойство Color используется практически  каждым 
компонентом. В среде Turbo 
Delphi определено множество 
констант типа TСolor. Одни из 
них непосредственно задают цвета (например, clGreen – зеленый), 
другие устанавливают цвета элементов окон, которые могут изменяться в зависимости от выбранной пользователем палитры цветов 
Windows (например, clBtnFace – цвет поверхности кнопок). 
Именованные константы, которые можно использовать в качестве значения свойства Color, сведены в табл. 1. 
                                                                   Таблица 1        
Константа 
Цвет 
Константа 
Цвет 
clBlack 
Черный 
clSilver 
Серебристый 
сlMaroon 
Каштановый 
clRed 
Красный 
clGreen 
Зеленый 
clLime 
 Светло-зеленый 
clOlive 
Оливковый 
clBlue 
Синий 
clNavy 
Темно-синий 
clFuchsia 
Ярко-розовый 
сlPurple 
Розовый 
clAqua 
Бирюзовый 
clWhite 
Белый 
clTeal 
Зелено-голубой 
clGray 
Серый 
 
 
5 


1.2. Карандаш и кисть 
Методы, обеспечивающие вычерчивание на поверхности канвы графических примитивов, используют карандаш и кисть. 
Первый предназначен для вычерчивания линий, вторая – для заливки областей, ограниченных линиями. 
     Карандашу соответствует свойство Pen – перо класса TPen. 
Это объект, имеющий, в свою очередь, ряд свойств. Одно из них – 
уже известное свойство  Color – цвет, которым наносится рисунок. 
Второе свойство – Width (ширина линии), которое задается в пикселях и по умолчанию равно одному пикселю. Третье свойство 
Style определяет вид линии. Именованные константы, которые 
можно использовать в качестве значения свойства Style, перечислены в табл. 2. 
                                                                          Таблица 2 
Константа 
Стиль линии 
psSolid 
Сплошная линия 
psDash 
Пунктирная линия, длинные штрихи 
psDot 
Пунктирная линия, короткие штрихи 
psDashDot 
Пунктирная линия, чередование длинного и короткого штрихов 
psDashDotDot 
Пунктирная линия, чередование одного длинного  
и двух коротких штрихов 
psClear 
Линия не отображается (когда не нужно изображать 
границу области) 
Примечание. Все пунктирные линии имеют толщину один пиксель. 
 
У пера есть еще одно свойство – Mode. Оно определяет, как 
будет формироваться цвет точек линии в зависимости от цвета тех 
точек канва, через которые эта линия пролегает. По умолчанию  
линия вычерчивается цветом, определяемым значением свойства 
Pen.Color. 
Некоторые именованные константы, которые можно использовать в качестве значения свойства Mode, сведены в табл. 3. 
 
6 


Таблица 3 
Константа 
Цвет линии 
pmBlack 
Черный, не зависит от значения свойства Pen.Color 
pmWhite 
Белый, не зависит от значения свойства Pen.Color 
pmCopy 
Цвет линии определяется значением свойства 
Pen.Color 
pmNotCopy 
Цвет линии является инверсным по отношению  
к значению свойства Pen.Color 
pmNot 
Цвет линии определяется как инверсный по отношению к цвету точки канвы 
У канвы имеется свойство PenPos класса TРoint (предопределенный тип TРoint  представляет собой запись, поля х и y которой содержат координаты точки). Это свойство определяет текущую позицию пера в координатах канвы. Перемещение пера без прорисовки 
линии, т. е. изменение свойства PenPos, осуществляется методом 
канвы MoveTo (x, y). Точка  с координатами (x, y) становится текущей, и от нее методом LineTo (x, y) можно провести линию в точку с 
другими координатами (x, y). При этом свойство PenPos определяет 
уже конечную точку линии, и новый вызов команды LineTo будет 
проводить линию из этой новой текущей точки. 
Кисти соответствует свойство канвы Brush – кисть класса  
TBrush. Оно определяет фон и цвет заполнения замкнутых фигур. 
Brush – это объект, имеющий, в свою очередь, ряд свойств. Свойство 
Color определяет цвет заполнения фигуры, а свойство Style – стиль 
заполнения (штриховку).  Именованные константы, которые можно 
использовать в качестве значения свойства Style, перечислены в  
табл. 4. 
Таблица 4 
Константа 
Стиль заполнения области 
bsSolid 
Сплошная заливка 
bsClear 
Область не закрашивается 
bsHorisontal 
Горизонтальная штриховка 
bsVertical 
Вертикальная штриховка 
bsFDiagonal 
Диагональная штриховка с наклоном линий вперед 
bsBDiagonal 
Диагональная штриховка с наклоном линий назад 
bsCross 
Горизонтально-вертикальная штриховка в клетку 
bsDiagCross 
Диагональная штриховка в клетку 
 
7 


Некоторые методы канвы для рисования  фигур указаны в 
табл. 5. 
Таблица 5 
Метод 
Описание 
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) 
Рисует дугу окружности или эллипса, замкнутую хордой. Точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс. Начальная точка дуги определяется пересечением 
эллипса с прямой, проходящей через его центр 
и точку (x3, y3). Конечная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (x4, y4). Дуга рисуется против хода часовой стрелки от начальной 
до конечной точки. Хорда соединяет точки (x3, 
y3) и (x4, y4) 
Ellipse (x1, y1, x2, 
y2: integer)  
Рисует заполненную окружность или эллипс. 
Точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс 
Pie (x1, y1, x2, y2, 
x3, y3, x4, y4: integer) 
Рисует замкнутую фигуру – сектор окружности 
или эллипса. Точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс. 
Начальная точка дуги определяется пересечением эллипса с прямой, проходящей через его 
центр и точку (x3, y3). Конечная точка дуги 
определяется пересечением эллипса с прямой, 
проходящей через его центр и точку (x4, y4). 
Дуга рисуется против хода часовой стрелки от 
начальной до конечной точки. Проводятся прямые, ограничивающие сектор и проходящие 
через центр эллипса и точки (x3, y3) и (x4, y4) 
 
 
8 


Окончание табл. 5 
Метод 
Описание 
Polygon (Points: array of TPoint)  
Рисует замкнутый  многоугольник по координатам угловых точек, заданных массивом 
Points. Первая из указанных точек соединяется с 
последней 
PolyLine (Points: 
array of TPoint) 
Рисует кусочно-линейную незамкнутую кривую 
по координатам точек, заданных массивом 
Points. При этом текущая позиция пера PenPos 
не изменяется 
Rectangle (x1, y1, 
x2, y2: integer)  
Рисует прямоугольник, верхний левый угол 
которого имеет координаты (x1, y1), а нижний 
правый – координаты (x2, y2) 
RoundRect (x1, y1, 
x2, y2, x3, y3: integer) 
Рисует прямоугольник со скругленными углами, верхний левый угол которого имеет координаты (x1, y1), а нижний правый – координаты 
(x2, y2). Углы скругляются с помощью эллипсов шириной  x3 и высотой y3 
Примечание. Для изображения закрашенной фигуры перед использованием соответствующего метода (Chord, Ellipse, Pie, Polygon и 
др.) необходимо установить цвет и стиль ее заливки  (Brush.Color и 
Brush.Style). 
 
Для заполнения замкнутых областей произвольной формы 
можно использовать следующий метод:  
FloodFill (x, y: integer; Color: TColor; FillStyle: TFillStyle). 
Тип TFillStyle  определен следующим образом: 
type TFillStyle = (fsSurface, fsBorder). 
Точка с координатами (x, y) является произвольной внутренней 
точкой заполняемой области. Граница этой области задается сочетанием параметров Color и FillStyle. Параметр Color указывает 
цвет, который используется при определении границы заполняемой области, а параметр FillStyle устанавливает, как именно по 
этому цвету определяется граница. Если FillStyle = fsSurface, то 
заполняется область, окрашенная цветом Color, а на других цветах 
заливка прекращается. Если FillStyle = Border, то, наоборот, заполняется область, окрашенная любыми цветами, не равными Color, а 
на цвете Color заливка прекращается.  
 
9 


Для  вывода текста на графическую поверхность применяется 
метод TextOut (x, y: integer; text: string). Для определения параметров выводимого текста используется свойство канвы Font – 
шрифт класса TFont, которое, в свою очередь, является объектом и 
имеет ряд свойств. 
Свойства  объекта Font указаны в табл. 6. 
 Таблица 6 
Свойство 
Назначение 
Name 
Определяет вид (название) шрифта (Arial, Times 
New Roman, Courier и т. д.) 
Size 
Pазмер шрифта в пунктах (points). Один пункт 
равен 1/72 дюйма 
Style 
Стиль начертания символов задается с помощью 
предопределенных констант: fsItalic (курсив), 
fsBold (полужирный), fsUnderLine (подчеркнутый), fsStrikeOut (перечеркнутый). Это свойство 
является множеством, что позволяет комбинировать нужные стили 
Color 
Цвет символов  
Height 
Размер шрифта в пикселях 
 
 Текст  выводится  на   графическую поверхность в позицию с 
координатами  (x, y)  в соответствии с текущими установками шрифта Font. Фон надписи определяется установками текущей кисти 
Brush (если нет необходимости в фоне для надписи, то перед выводом текста нужно присвоить свойству Brush.Style значение bsClear 
или задать свойству Brush.Color цвет, совпадающий с цветом поверхности, на которую выводится текст, например clBtnFace). По 
завершении работы метода текущей позицией PenPos пера Pen становится конец выведенного текста. 
Перечисленные свойства и методы представляют не все графические возможности языка  Delphi. Однако они обеспечивают около 
80 % потребностей, обычно возникающих при работе с графикой.  
1.3. Порядок создания изображения 
Как уже отмечалось, канва представляет собой область, на которой можно рисовать или отображать готовые иллюстрации. Она 
 
10


Доступ онлайн
800 ₽
В корзину