
- •Занятие 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
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Оглавление
Занятие 1. Введение 5
Почему именно Delphi? 5
Что мы видим на экране 5
Контрольные вопросы: 9
Занятие 2. Мое первое приложение в Delphi 10
Вывести текст в окне 10
Задания для самостоятельной работы 13
Кнопки. Какие они бывают и зачем они? 13
Задания для самостоятельной работы 15
Поле редактирования 15
Задания для самостоятельной работы 16
Контрольные вопросы 16
Занятие 3. Введение в язык программирования Pascal 16
Понятие алгоритма 16
Структура процедуры 17
Данные 17
Правила задания имен языка Pascal 18
Задания для самостоятельной работы 18
Тип данных 18
Числовой тип данных. Целые числа 18
Числовой тип данных. Вещественные числа 19
Описание данных 19
Задания для самостоятельной работы 20
Операции 20
Присвоение значения переменной. Оператор присваивания 20
Задания для самостоятельной работы 21
Задача «Простой калькулятор» 21
Встроенные функции 22
Задания для самостоятельной работы 23
Контрольные вопросы 24
Занятие 4. Разветвляющийся алгоритм 24
Логический тип данных 24
Описание данных логического типа 25
Логические выражения 25
Разветвляющийся алгоритм 26
Оператор if 26
Оператор выбора CASE 28
Задания для самостоятельной работы 29
Списки. Компоненты ListBox и ComboBox 29
Зависимые переключатели. Компоненты RadioButton, RadioGroup 32
Задания для самостоятельной работы 34
Контрольные вопросы 34
Занятие 5. Как устроена программа в Delphi 34
Понятие проекта. Структура проекта 34
Задание для самостоятельной работы 37
Форма 37
Добавление формы к проекту 37
Структура модуля Pascal 37
Как открыть форму 39
Задание для самостоятельной работы 39
Способность форм ссылаться друг на друга 40
Задание для самостоятельной работы 41
Просмотр форм и ассоциированных с ними модулей 41
Основные свойства, методы и события формы 41
Менеджер проектов 43
Опции пpоекта 43
Упpавление пpоектами 46
Компиляция и сборка проекта 46
Выполнение и отладка проекта 47
Задания для самостоятельной работы 47
Контрольные вопросы 48
48
Занятие 6. Начинаем рисовать 48
Рисование линий 49
Задание цвета 50
Рисование фигур 51
Вывод текста 54
События формы OnPaint и OnResize 54
Задания для самостоятельной работы 56
Занятие 7. Циклы 57
Цикл со счетчиком: for 57
Цикл с предусловием: while 59
Цикл с постусловием: repeat..until 61
Использование операторов Continue и Break в циклах 63
Задание случайных чисел. Функция Random. Процедура Randomize 64
Вложенные циклы 65
Задания для самостоятельной работы 67
Контрольные вопросы 70
Занятие 8. Массивы 70
Одномерные массивы 71
Двумерные массивы 72
Компонент TStringGrid 72
Задание для самостоятельной работы 74
Контрольные вопросы 76
Занятие 9. Строки и символы 76
Символьный тип данных 76
Строковый тип данных 77
Сравнение текстовой информации 77
Функции для работы с текстовой информацией 77
Задания для самостоятельной работы 79
Контрольные вопросы 79
Занятие 10. Работа с изображениями 80
Редактор Image Editor 80
Как отобразить рисунок в форме 81
Компонент Timer 82
Как заставить картинку двигаться 82
Случайное движение 82
Задание для самостоятельной работы. 83
Движение по закону 83
Задание для самостоятельной работы 84
Управляемое движение 84
Задание для самостоятельной работы 85
Как совместить разные виды движения 85
Задание для самостоятельной работы 88
Использование мыши 88
Занятие 11. Процедуры и функции 91
Описание и вызов процедуры 91
Описание и вызов функции 94
Где описывать процедуры(функции) 94
Передача параметров по ссылке и по значению 95
Контрольные вопросы 96
Задание для самостоятельной работы 96
Занятие12. Еще про компоненты 96
Еще раз про списки 96
Функция MessageDlg 98
Задание для самостоятельной работы 99
Главное меню приложения. Компонент MainManu 100
Задание для самостоятельной работы 101
Кнопочная панель. Компонент ToolBar 102
Область редактирования. Компонент Memo 103
Контекстное меню. Компонент PopupMenu 104
Диалоговые окна Windows 104
Задание для самостоятельной работы 106
Занятие 13. Объектно-ориентированный подход (ООП) в программировании 106
Основные понятия ООП 106
Основные принципы ООП 107
Тип данных запись (структура) 107
Задание для самостоятельной работы 108
Классы и объекты в Delphi 108
Задание для самостоятельной работы 113
Контрольные вопросы 114
Занятие 14. Работа с файлами 114
Общая технология работы с файлами в Delphi 114
Стандартный подход к работе с файлами 114
Описание файловой переменной 115
Открытие файлов 115
Запись в файл 115
Считывание из файла 116
Закрытие файла 116
Установка новой позиции в файле 116
Текстовые файлы 117
Конец файла 117
Стандартные подпрограммы для работы с файлами и каталогами 118
Пример работы с нетипизированными файлами 118
Пример работы с типизированными файлами 119
Пример работы с текстовыми файлами 121
Объектный подход к работе с файлами 121
Задания для самостоятельной работы 123
Контрольные вопросы 124
Занятие 1. Введение Почему именно Delphi?
Delphi это современное и очень популярное средство для разработки широкого класса Windows-приложений. Программу под Windows принято называть приложение. Мы собираемся использовать программное средство Delphi для обучения основам разработки программ.
Почему программный продукт Delphi получил такое название? Дельфы – это древнегреческий город на берегу Коринфского залива. Название города связано с именем бога мудрости и покровителя искусств Аполлона. Согласно мифу, главное святилище Аполлона находилось в Дельфах. Его жрицы-севиллы изрекали тем, кто к ним обращался, пророчества – оракулы. Руководитель исследовательской группы по разработке системы Delphi Чак Язджевски вспоминает: «Имя Delphi было предложено Денни Торпом во время одной мозговой атаки. Мы хотели, чтобы в имени отражались уникальные способности продукта к работе с базами данных, и Delphi как нельзя лучше перекликалось с таким заслуженным именем в этой области, как Oracle, по крайней мере, для тех, кому сочетание: «дельфийский оракул» о чем-то говорит…»
Почему мы выбираем Delphi?
Во-первых, Delphi располагает простой и удобной средой для разработки приложений, которая включает текстовый редактор, компилятор, отладчик, т.е. традиционный набор инструментов для разработки, а также содержит так называемую визуальную среду разработки программ. Визуальная среда разработки позволяет наглядно строить приложение, как бы собирать его из кубиков, готовых программных блоков, кроме того, внешний вид приложения уже определяется на этапе разработки, что очень ускоряет сам процесс разработки. И вы увидите это!
Во-вторых, в Delphi используется довольно простой для начинающих язык программирования Pascal, который был создан Никласом Виртом для целей обучения программированию. Но следует отметить, что в Delphi используется объектно-ориентированный Pascal, так называемый Object Pascal. Что такое объекты, классы и объектно-ориентированный язык программирования мы узнаем несколько позже, когда освоимся с основами работы на Pascal.
В третьих, Delphi это среда компилирующего типа, т.е. в результате компиляции приложения создается выполнимый файл, который можно легко распространять на другие компьютеры, даже такие, где не установлена система Delphi.
В четвертых, Delphi предоставляет готовые компоненты для разработки приложений, например, такие как кнопки, списки, поля редактирования и т.д. Достаточно хорошо изучить готовые компоненты, научиться их использовать и разработка приложений приобретет скорость ракеты.
И наконец, следует сказать о том, что Delphi предоставляет набор готовых блоков (компонент) для работы с базами данных, что очень важно для быстрой разработки такого распространенного класса приложений какими являются информационные системы.
Что мы видим на экране
Прежде чем приступать к разработке приложений с использованием Delphi, давайте познакомимся со средой разработки Delphi.
Что понимается под средой разработки? Как правило, это набор инструментов, облегчающих программисту работу по созданию программы. К таким инструментам, как правило, относятся:
текстовый редактор, именно в нем мы будем писать программу, изменять ее, сохранять в файле, возможно, составлять ее из готовых фрагментов программного кода.
компилятор, это встроенная в среду разработки программа, которая переводит текст программы с языка понятного человеку на язык понятный компьютеру.
отладчик, это также встроенная в среду разработки программа, которая помогает искать ошибки в программе. Дело в том, что человеку свойственно ошибаться, особенно когда речь идет о программе большого объема. Писать программу без ошибок не может никто, да в этом и нет необходимости. Так вот отладчик позволяет, например, приостановить выполнение программы и проверить содержимое переменных памяти, таким образом можно выявить ошибку. С помощью отладчика можно проследить последовательность выполнения операторов программы и таким образом также выявить ошибку.
Но среда разработки Delphi предоставляет пользователю еще большие возможности. Давайте посмотрим на экран:
Инспектор объектов
Окно TreeView
Главное окно приложения
Среда разработки Delphi называется интегрированной (Integrated Development Environment – IDE), т.к. состоит из нескольких взаимосвязанных элементов. На экране мы видим несколько независимо перемещаемых окон. Давайте рассмотрим назначение этих окон.
В верхней части окна располагается главное окно. Главное окно включает горизонтальную линейку меню с выпадающими подменю, кнопочную панель быстрого доступа, палитру компонентов. Через главное меню и выпадающие подменю реализованы все функции Delphi.
Кнопочная панель располагается слева непосредственно под линейкой меню и обеспечивает быстрый доступ к основным функциям Delphi. Кнопочную панель можно настраивать, т.е. менять набор кнопок по своему усмотрению.
Палитра компонентов располагается справа от кнопочной панели и содержит компоненты, это основные «строительные блоки», используя которые можно быстро создавать приложения. Так как компонентов много, они объединены в группы по функциям, каждая группа располагается на своей вкладке. Например, на вкладке Standart располагаются стандартные интерфейсные компоненты Windows, т.е. элементы, используемые для организации взаимодействия (интерфейса) с пользователем, такие как кнопка, список, меню, радиокнопка и т.д. А на вкладке Data Control располагаются компоненты для работы с базами данных.
В левом нижнем углу экрана располагается Инспектор объектов (Object Inspector). Как следует из названия, Инспектор позволяет работать с объектами. Мы пока еще не знаем что такое объект, но пока что можно определить объект как нечто, что доступно нам через набор свойств и набор событий. Свойства можно очень просто изменять с помощью Инспектора объектов. Также объект имеет набор готовых событий, которые позволяют нам задать его реакцию на то или иное происшествие в системе, например, нажатие кнопки, открытие окна, потерю фокуса ввода и т.д. Именно с помощью Инспектора объектов можно быстро настраивать свойства (состояние) компонентов приложения и определять поведение объекта при наступлении определенных событий.
Окно Инспектора объектов содержит две вкладки: Property и Events. Вкладка Property позволяет задавать свойства (состояние) объекта, для этого вкладка поделена на две части, слева имя свойства, справа его значение.
Вкладка Events также поделена на две части: слева названия событий, справа можно задать так называемый обработчик события, это программный код, который будет выполняться при наступлении события.
На экране также появляется окно Object TreeView, которое содержит иерархию компонент текущего окна. Пока это не очень понятно. Но в дальнейшем мы, возможно, воспользуемся этим окном.
Справа от Инспектора объектов располагается главное окно приложения, это так называемая форма. Именно форма используется для организации взаимодействия с пользователем, именно на форме будут располагаться интерфейсные компоненты, с помощью которых ведется диалог с пользователем. Приложение может состоять из нескольких форм. На самом деле с формой связаны два окна. Первое это графическое представление формы, изображено на рис. В этом окне будут располагаться интерфейсные компоненты.
С каждой формой связан модуль на Pascal, который содержит программный код приложения. Это второе окно. Именно там будут находиться так называемые обработчики событий, т.е. реакция приложения на события в системе.
Мы перечислили далеко не все компоненты, которые входят в состав интегрированной среды разработки. Мы будем осваивать компоненты среды по мере нашего дальнейшего продвижения.