- •Министерство образования республики беларусь
- •Содержание
- •1. Программирование линейных алгоритмов. Знакомство со средой разработки delphi
- •1.1.Интегрированная среда разработки delphi
- •1.2.Структура проекта delphi
- •Задание 1.1. Создание и сохранение проекта
- •Задание 1.2. Создание простого приложения
- •1.3. Запуск программы на выполнение
- •Задание 1.3. Задание для самостоятельного выполнения
- •Задание 1.4. Создание отчета
- •Вопросы
- •2. Программирование разветвляющихся алгоритмов
- •2.1. ОператорыIFиCasEязыка Паскаль
- •2.2. Кнопки-переключатели и многострочный редактор текста вDelphi
- •2.3. Пример разработки программы
- •Задание 2.1. Задание для самостоятельного выполнения
- •Вопросы
- •3. Программирование циклических алгоритмов
- •3.1. Операторы повтора языка Паскаль
- •3.2. Средства отладки программ вDelphi
- •3.3. Пример разработки программы
- •Задание 3.1. Задание для самостоятельного выполнения
- •Вопросы
- •4. Программирование с использованием массивов
- •4.1. Массивы вDelphi
- •КомпонентStringGrid
- •4.3. Пример разработки программы
- •Задание 4.1. Задание для самостоятельного выполнения
- •Вопросы
- •5. Построение графика функции
- •5.1. Формирование изображений программным способом
- •5.2. Пример разработки программы
- •Задание 5.1. Задание для самостоятельного выполнения
- •Вопросы
- •6. Программирование с использованием средств для отображения графической информации
- •6.1. Проектирование диаграммы
- •6.2. Пример разработки программы
- •Задание 6.1. Задание для самостоятельного выполнения
- •Вопросы
- •7. Программирование с использованием записей и файлов
- •7.1. Переменных типа запись
- •7.2. Файлы
- •7.3. Работа с текстовыми файлами
- •7.4. Компоненты OpenDialog и SaveDialog
- •7.5. Пример разработки программы
- •Задание 7.1. Задание для самостоятельного выполнения
- •Вопросы
- •Список литературы
- •Приложения
- •Команды основного меню
- •Основные группы компонентов в палитре компонентов
- •Общие свойства компонентов
- •Основные компоненты и их свойства
- •Простые типы данных языкаObjectPascal
- •Математические формулы
- •Процедуры и функции работы со строками
- •Процедуры и функции работы с файлами
Вопросы
Что такое массив? Как описываются массивы?
Как получить доступ к конкретному элементу массива?
Опишите основные свойства компонента класса TStringGrid.
Как получить доступ к содержимому ячейки компонента класса TStringGrid?
5. Построение графика функции
Цель: Научиться использовать графические возможности, предоставляемыеDelphi, для отображении графической информации произвольного вида
5.1. Формирование изображений программным способом
В любом визуальном компоненте Delphiсуществует специальный объект средствами которого выполняется рисование видимых частей компонента. Он называетсяхолстом(канвой) и оформлен в виде свойстваCanvas. ОбъектCanvasимеет пять основных свойств:
Pen– объект для рисования линий и границ геометрических фигур;
Brush– объект для заполнения фигур;
Font– объект для вывода текста;
PenPos– объект для хранения текущей позиции рисования;
Pixels[x,y:Integer] – двумерный массив, в котором хранятся цвета всех точек канвы.
Для рисования прямых линий, ломаных и кривых линий используются следующие методы объекта Canvas:
MoveTo(X,Y:Integer) |
Перемещает указатель текущей позиции в заданную точку. |
LineTo(X,Y:Integer) |
Рисует прямую линию от текущей позиции рисования до заданной (X,Y) и перемещает указатель текущей позиции в точку с координатами (X,Y). |
Polyline(Points:array of TPoint) |
Рисует ломаную линию, соединяя точки массива Points. Для получения элемента массива по двум координатам может использоваться функция Point(X,Y:Integer):TPoint. |
Arc(X1,Y1,X2,Y2,X3,Y3,X4,Y4:Integer) |
Рисует дугу эллипса, вписанного в прямоугольник с координатами (X1,Y1) и (X2,Y2). Дуга определяется двумя радиусами эллипса, проходящими через точки (X3,Y3) и (X4,Y4). Дуга рисуется против часовой стрелки от точки пересечения эллипса с первым радиусом до точки пересечения со вторым радиусом. |
Для рисования геометрических фигур предназначены следующие методы:
Rectangle(X1,Y1,X2,Y2:Integer) |
Рисует прямоугольник с левым верхним углом в точке (X1,Y1) и нижним правым углом в точке (X2,Y2). Прямоугольник рисуется текущими атрибутами кисти и пера. |
RoundRect(X1,Y1,X2,Y2,X3,Y3:Integer) |
Рисует прямоугольник с закругленными углами. Углы рисуются как четверти эллипса с шириной X3 и высотой Y3. |
Ellipse(X1,Y1,X2,Y2:Integer) |
Рисует эллипс, вписанный в прямоугольник с левым верхним углом в точке (X1,Y1) и нижним правым углом в точке (X2,Y2). Эллипс рисуется текущими пером и кистью. |
Polygon(Points:array of TPoint) |
Рисует ломаную линию, соединяя точки массива Points. Ломаная замыкается отрезком из последней точки в первую, и полученная линия фигура заполняется текущей кистью. |
Для вывода текста служат следующие методы объекта Canvas:
TextOut(X,Y:Integer; const Text:string) |
Выводит текущим шрифтом строку текста Text в прямоугольнике с левым верхним углом в точке (X,Y) |
TextRect(Rect: TRect;X,Y:Integer; const Text:string) |
Выводит текст в прямоугольнике Rect. Вывод за границы прямоугольника отсекается. |
TextHeight(const Text:string): Integer |
Возвращает высоту (в пикселах) строки Text при выводе ее текущим шрифтом. |
TextWidth(const Text:string): Integer |
Возвращает ширину (в пикселах) строки Text при выводе ее текущим шрифтом. |