
- •Занятие 1. Введение Почему именно Delphi?
- •Что мы видим на экране
- •Контрольные вопросы:
- •Занятие 2. Мое первое приложение в Delphi Вывести текст в окне
- •Задания для самостоятельной работы
- •Кнопки. Какие они бывают и зачем они?
- •Задания для самостоятельной работы
- •Поле редактирования
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 3. Введение в язык программирования Pascal
- •Понятие алгоритма
- •Структура процедуры
- •Правила задания имен языка Pascal
- •Задания для самостоятельной работы
- •Тип данных
- •Числовой тип данных. Целые числа
- •Числовой тип данных. Вещественные числа
- •Описание данных
- •Задания для самостоятельной работы
- •Операции
- •Присвоение значения переменной. Оператор присваивания
- •Задания для самостоятельной работы
- •Задача «Простой калькулятор»
- •Встроенные функции
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 4. Разветвляющийся алгоритм
- •Логический тип данных
- •Описание данных логического типа
- •Логические выражения
- •Разветвляющийся алгоритм
- •Оператор if
- •Оператор выбора case
- •Задания для самостоятельной работы
- •Списки. Компоненты ListBox и ComboBox
- •Зависимые переключатели. Компоненты RadioButton, RadioGroup
- •Задание для самостоятельной работы
- •Добавление формы к проекту
- •Структура модуля Pascal
- •Как открыть форму
- •Задание для самостоятельной работы
- •Способность форм ссылаться друг на друга
- •Задание для самостоятельной работы
- •Просмотр форм и ассоциированных с ними модулей
- •Основные свойства, методы и события формы
- •Менеджер проектов
- •Опции пpоекта
- •Упpавление пpоектами
- •Компиляция и сборка проекта
- •Выполнение и отладка проекта
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 6. Начинаем рисовать
- •Рисование линий
- •Задание цвета
- •Рисование фигур
- •Свойства класса tBrush
- •Вывод текста
- •События формы OnPaint и OnResize
- •Задания для самостоятельной работы
- •Занятие 7. Циклы
- •Цикл со счетчиком: for
- •Цикл с предусловием: while
- •Цикл с постусловием: repeat..Until
- •Использование операторов Continue и Break в циклах
- •Задание случайных чисел. Функция Random. Процедура Randomize
- •Вложенные циклы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 8. Массивы
- •Одномерные массивы
- •Двумерные массивы
- •Компонент tStringGrid
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 9. Строки и символы
- •Символьный тип данных
- •Строковый тип данных
- •Сравнение текстовой информации
- •Функции для работы с текстовой информацией
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 10. Работа с изображениями
- •Редактор Image Editor
- •Как отобразить рисунок в форме
- •Компонент Timer
- •Как заставить картинку двигаться
- •Случайное движение
- •Задание для самостоятельной работы.
- •Движение по закону
- •Задание для самостоятельной работы
- •Управляемое движение
- •Задание для самостоятельной работы
- •Как совместить разные виды движения
- •Задание для самостоятельной работы
- •Использование мыши
- •Занятие 11. Процедуры и функции
- •Описание и вызов процедуры
- •Описание и вызов функции
- •Где описывать процедуры(функции)
- •Передача параметров по ссылке и по значению
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Занятие12. Еще про компоненты Еще раз про списки
- •Функция MessageDlg
- •Задание для самостоятельной работы
- •Главное меню приложения. Компонент MainManu
- •Задание для самостоятельной работы
- •Кнопочная панель. Компонент ToolBar
- •Область редактирования. Компонент Memo
- •Контекстное меню. Компонент PopupMenu
- •Диалоговые окна Windows
- •Задание для самостоятельной работы
- •Занятие 13. Объектно-ориентированный подход (ооп) в программировании Основные понятия ооп
- •Основные принципы ооп
- •Тип данных запись (структура)
- •Задание для самостоятельной работы
- •Классы и объекты в Delphi
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 14. Работа с файлами
- •Общая технология работы с файлами в Delphi
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Задание цвета
Цвет объекта можно задавать тремя способами.
С помощью предопределенных констант:
Константа |
Цвет |
clWhite |
Белый |
clBlack |
Черный |
clRed |
Красный |
Например, названия констант, обозначающих цвета, хорошо видны в свойстве Color формы.
С помощью шестнадцатеричных констант, например:
$00FF0000 – голубой цвет,
$0000FF00 – зеленый цвет,
$000000FF – красный цвет,
$00000000 – черный,
$00FFFFFF – белый.
Где первые две цифры (слева направо) всегда нули, вторые две цифры – задают интенсивность голубого цвета от 00 до FF(256), две третьи цифры – задают интенсивность зеленого цвета, последние две цифры – задают интенсивность красного цвета.
Пример1:
var
col1:TColor;
col1:=$AB00CC;
Цвет col1 – это будет смешение голубого и красного цвета.
С помощью функции RGB.
Функция возвращает цвет, значение типа TColor, который является смешением трех цветов: красного, зеленого и голубого. Первый аргумент задает интенсивность красного цвета, второй - задает интенсивность зеленого цвета, третий – интенсивность голубого цвета. Интенсивность задается числом от 0 до 256.Синтаксис функции:
function RGB(r:byte,g:byte,b:byte):TColor;
Например:
var r,b,g:byte;
col:TColor;
…
r:=56; b:=245; g:=25;
col:=RGB(r,g,b);
with Canvas do
begin
Pen.Color:=col;
MoveTo(50,40);
LineTo(100,250);
End;
Рисование фигур
Метод Ellipse – позволяет нарисовать эллипс, вписанный в прямоугольник, заданный координатами своих вершин. Синтаксис:
procedure Ellipse(X1, Y1, X2, Y2: Integer);
Где X1, Y1 – координаты левого верхнего угла прямоугольника
X2, Y2 – координаты правого нижнего угла прямоугольника
Пример:
Ellipse(50,50,200,250);
Метод Rectangle – позволяет нарисовать прямоугольник, заданный координатами своих вершин. Синтаксис:
procedure Rectangle(X1, Y1, X2, Y2: Integer);
Где X1, Y1 – координаты левого верхнего угла прямоугольника;
X2, Y2 – координаты правого нижнего угла прямоугольника.
Для задания границы прямоугольника используется свойство Pen, для задания цвета заполнения используется свойство Brush(кисть).
Для рисования прямоугольника со скругленными углами используется свойство RoundRect. Например, нарисовать прямоугольник зеленого цвета с желтой границей:
With canvas do
Begin
Pen.Color:=clYellow;
Brush.Color:=clRed;
Rectangle(50,20,200,150);
End;
Свойство Brush – это объект, со своими свойствами и методами, который позволяет задать цвет заполнения фигуры, стиль заполнения.
Свойства класса tBrush
Свойство |
Описание |
Color |
Цвет |
Style |
Стиль |
Для задания стиля используются следующие константы:
bsSolid - сплошное заполнение
bsClear - нет заполнения
bsBDiagonal и bsFDiagonal – диагональная штриховка
bsCross - поперечная штриховка
bsDiagCross - диагонально-поперечная штриховка
bsHorizontal- горизонтальная штриховка
bsVertical – вертикальная штриховка
Например, заполнить прямоугольник с синей границей штриховкой желтого цвета:
with canvas do
begin
brush.Style:=bsDiagCross;
brush.Color:=clYellow;
pen.Color:=clBlue;
pen.Width:=6;
rectangle(100,100,200,200);
end;
Метод RoundRect – прямоугольник со скругленными углами. Синтаксис:
procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);
Где X1, Y1, X2, Y2 – координаты вершин прямоугольника.
X3 – задает ширину и Y3 – задает высоту скругления.
Например:
RoundRect(200,150,250,200,10,20);
Метод Pie – используется для рисования сегмента эллипса, заданного прямоугольником с координатами X1,Y1, X2,Y2. Сегмент определяется двумя линиями, соединяющими центр эллипса с точками с координатами X3,Y3,X4,Y4. Синтаксис:
procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Longint);
Например:
pie(100,300,200,400,200,370,180,300);
Метод FloodFill – используется для заполнения замкнутой области цветом, задаваемым кистью (Brush). Синтаксис:
procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);
Заполнение начинается с точки с координатами X и Y. Каким образом будет происходить заполнение, определяет параметр FillStyle – стиль заполнения. FillStyle может иметь два значения, описанных в таблице.
Значение |
Описание |
fsSurface |
Область заполняется до тех пор, пока в ней присутствует цвет, заданный параметром Color |
fsBorder |
Область, которая будет заполнена, ограничена цветом, задаваемым параметром Color |
Пример1.Нарисовать треугольник красного цвета с зеленой границей:
with canvas do
begin
pen.Width:=3;
pen.Color:=clGreen;
brush.Color:=clRed;
MoveTo(200,100);
LineTo(100,200);
LineTo(300,200);
LineTo(200,100);
FloodFill(200,150,clGreen,fsBorder);
end;
То, что получится, вы видите на рисунке:
Пример 2. Нарисовать треугольник, заполненный красным цветом, с границей красного цвета.
with canvas do
begin
pen.Width:=3;
pen.Color:=clRed;
brush.Color:=clRed;
MoveTo(200,50);
LineTo(100,200);
LineTo(300,200);
LineTo(200,50);
FloodFill(200,150,clRed,fsBorder);
end;