
- •Занятие 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
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Задание для самостоятельной работы
Создайте новое приложение в Delphi
Сохраните его в отдельной папке
Откройте папку и посмотрите, из каких файлов она состоит
Измените приложение, например, добавьте несколько любых компонентов на форму
Сохраните приложение
Откройте папку и посмотрите, из каких файлов она состоит
Удалите ненужные файлы, т.е. такие которые не повлияют на работоспособность приложения
Запустите приложение на выполнение и убедитесь в его работоспособности.
Форма
Приложение может состоять из нескольких форм. Форма – это основной элемент интерфейса пользователя, который обеспечивает наиболее удобный вид представления, просмотра, редактирования данных и управления ходом выполнения приложения. С точки зрения пользователя, форма – это просто окно, посредством которого программа общается с пользователем. С точки зрения разработчика, форма – это объект класса TForm. С каждой формой связаны два файла: файл dfm – содержит графическое представление формы, файл pas – содержит ассоциированный с формой модуль Паскаля.
Добавление формы к проекту
Добавление формы к проекту осуществляется либо через меню File | New | Form, либо с помощью быстрой кнопки New Form кнопочной панели.
New Form
Toggle Form\Unit
При этом открывается окно новой формы. Модуль новой формы добавляется в строку Uses файла проекта – dpr. Чтобы запомнить форму как часть проекта, сохраните ее в папке, где хранятся все файлы вашего приложения, с помощью меню File | Save.
Как мы уже говорили, с каждой формой связаны два файла: в одном находится графическое представление формы, другой содержит модуль Pascal, связанный с формой. Каждый из этих файлов открывается в своем окне. Для переключения между окнами используются кнопка кнопочной панели Toggle Form\Unit или клавиша F12.
Структура модуля Pascal
Модули введены в Turbo Pascal начиная с версии 4.0. Введение модулей явилось решающим шагом на пути его превращения в язык, пригодный для крупных разработок производственного и коммерческого назначения.
Модуль (Unit) в языке Turbo Pascal по определению считается отдельной программой. Модуль – это отдельно хранимая и независимо компилируемая единица в отличие от подпрограммы.
Модуль представляет собой набор программных ресурсов, предназначенных для использования другими модулями и программами. Ресурсы модуля можно разбить на две части – предназначенные для использования другими модулями и программами и объекты рабочего характера, используемые только процедурами и функциями данного модуля. В соответствии с этим модуль имеет две основные части, называемые интерфейсом и реализацией. В интерфейсной части (interface) сосредоточены описания объектов модуля, доступных другим программам; такие объекты называются видимыми вне модуля. Здесь должны быть представлены только заголовки процедур и функций, видимые для других программ, а их полные описания будут содержаться в разделе реализации.
В части реализации (implementation) помещаются рабочие объекты, называемые также невидимыми или скрытыми, а также реализации процедур и функций, используемых другими модулями.
В последующих версиях появились еще две части: initialization и finalization.
Часть initialization используется для инициализации данных, используемых модулем. Если приложение использует данный модуль, код в части initialization выполняется перед тем, как начнет выполняться само приложение.
Если для модуля необходимо выполнить, например освобождение ресурсов, занятых при инициализации объектов, перед тем как завершится приложение, используется часть finalization. Часть finalization следует за частью initialization, но перед конечным end.
Заголовок модуля состоит из ключевого слова Unit и идентификатора, который является именем модуля. Hапример:
Unit Unit1;
Interface
{ описание видимых объектов }
Implementation
{ описание скрытых объектов }
Initialization
{ операторы инициализации объектов модуля }
Finalization
{ очистка }
end.
Для доступа к объектам, процедурам и функциям другого модуля нужно указать имя этого модуля в операторе Uses.
Давайте рассмотрим структуру модуля, связанного с пустой формой.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
Ключевое слово Unit задает имя модуля. В интерфейсной части модуля с помощью ключевого слова Uses задаются внешние библиотеки, которые будут использоваться модулем. Ключевое слово type задает описание класса TForm1, который является наследником класса TForm. Ключевые слова private и public задают скрытые и общедоступные части класса соответственно. С помощью ключевого слова var задается переменная Form1 это объект класса TForm1.
В части implementation будут создаваться обработчики событий формы.
{$R *.dfm} – это не комментарий, а директива компилятора, которая говорит о том, что данный модуль связан с графическим представлением формы, файлом dfm. Не удаляйте эту директиву!