
- •Занятие 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
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Задания для самостоятельной работы
Для проекта, созданного в предыдущем пункте, откройте окно опций проекта. Смените главную форму приложения. Посмотрите, как изменился файл dpr. Запустите приложение на выполнение. Какая форма отрывается первой?
Откройте окно опций проекта. Перенесите часть форм из списка Auto-Create в список Available. Откройте файл dpr. Как он изменился?
В приложении создайте форму, не имеющую меню управления окном (меню в левом верхнем углу окна). Для закрытия окна необходимо создать кнопку, закрывающую окно.
Контрольные вопросы
Что такое проект? Из каких файлов он состоит?
Если из проекта удалить файлы dof или res будет ли создаваться выполнимый файл?
Какие файлы могут быть удалены из проекта, и это не помешает созданию выполнимого файла?
Что такое форма? Как добавить форму к проекту?
Как из одной формы по кнопке открыть другую форму? Какие изменения должны быть внесены в модуль вызывающей формы?
Что такое модуль Pascal? Из каких основных частей он состоит?
Что означает ключевое слово uses в описании модуля?
Какую информацию может содержать интерфейсная часть модуля? Что содержится в части реализации модуля?
Как из одной формы сослаться на объект, находящийся в другой форме?
Как откомпилировать приложение?
Как запустить приложение на выполнение?
Как приостановить выполнение приложения?
Как прервать выполнение приложения, например в случае зависания?
Как получить доступ к опциям проекта?
Как форму сделать главной формой приложения?
Как открыть существующий проект?
Как открыть проект из числа недавно использовавшихся проектов?
Как сохранить все файлы, входящие в проект?
Как закрыть весь проект со всеми файлами, входящими в него?
Как добавить к проекту существующую форму?
Как удалить из проекта форму? Будет удаленная из проекта форма удалена физически?
Занятие 6. Начинаем рисовать
Многие классы в Delphi, такие, например, как форма, класс TPaintBox и некоторые другие имеют встроенное свойство Canvas(холст, канва), которое само является объектом и содержит свойства и методы, позволяющие рисовать в окне линии, фигуры, задавать цвета линий, заливать фигуры цветом.
Изображение формируется с помощью точек, пикселов, каждая такая точка имеет цвет и координаты. Начало системы координат располагается в левом верхнем углу окна. Координаты точки определяются двумя числами, задающими смещение точки по горизонтали и вертикали относительно начала координат (см. рисунок).
Но мы не будем рисовать линии, фигуры по точкам, для этого мы будем использовать готовые свойства и методы холста, класса TCanvas.
Рисование линий
Метод MoveTo – установить курсор в заданную позицию экрана. Синтаксис:
procedure MoveTo(X, Y: Integer); Где X и Y – координаты точки.
Например: Canvas.MoveTo(0,0);
Метод LineTo – провести линию из текущей позиции курсора в заданную точку. Синтаксис: procedure LineTo(X, Y: Integer); где X,Y – координаты точки.
Метод работает совместно с методом MoveTo.
Например:
Canvas.MoveTo(0,0); { устанавливает курсор в точку с координатами 0,0 }
Canvas.LineTo(100,100); {провести линию в точку с координатами 100,100 }
Оператор With
Для того, чтобы не повторять имя объекта в каждой строке кода можно использовать оператор with. Например, тот же самый код можно написать с использованием with таким образом:
with Canvas do
begin
MoveTo(0,0);
LineTo(100,100);
end;
Свойство Pen(карандаш)
Свойство Pen позволяет задать цвет и тип линии. Свойство Pen – это вложенный в Canvas объект со своими свойствами.
Свойства класса TPen
Свойство |
Описание |
Color |
Задает цвет линии, границы фигуры |
Mode |
Задает, как взаимодействует цвет карандаша и цвет холста |
Style |
Задает стиль границы |
PenPos |
Задает текущую позицию карандаша |
Width |
Задает ширину границы |
Для задания стиля (свойства Style) используются следующие константы:
psSolid - непрерывная линия;
psDash - прерывистая линия;
psDot - линия из серии точек;
psDashDot – линия, состоящая из комбинации линий и точек;
psDashDotDot - линия, состоящая из комбинации линии, точки, точки;
psClear - нет линии, границы.
Для задания ширины линии (свойство Width) используются целые положительные числа. Ширина линии влияет на стиль линии.
Например:
with canvas do
begin
pen.Style:=psSolid;
pen.Width:=5;
pen.Color:=clRed;
moveto(50,50);
lineto(300,300);
end;
Для задания цвета можно использовать константы, например clRed – красный , clBlue – синий, и т.д.