- •Основы программирования
- •Введение
- •Основы delphi
- •Общая технология программирования
- •Язык программирования
- •Объектно-ориентированное программирование
- •Визуальное программирование
- •Событийно управляемое программирование
- •Windows-приложение
- •Среда программирования
- •Первоначальные сведения о проекте приложения
- •Встроенный отладчик
- •Использование встроенных классов
- •Иерархия классов
- •Использование палитры компонентов и инспектора объектов
- •Использование графики
- •Основные инструменты
- •Основные характеристики шрифтов
- •Графические данные и палитра
- •Некоторые общие свойства компонентов
- •Сохранение проекта
- •Построение простейшего проекта
- •Понятие исключительной ситуации
- •Введение в object pascal
- •Структура приложения
- •Структура программы-проекта
- •Структура модуля
- •Пример 1
- •Описания программных элементов
- •Программные элементы и адреса памяти
- •Области видимости
- •Правила записи имен
- •Время жизни идентификаторов
- •Использование локальных переменных в примере 1
- •Использование глобальных переменных в примере 1
- •Простые типы
- •Целые типы
- •Целые типы
- •Некоторые операции с целым типом
- •Символьные типы
- •Логические типы
- •Тип перечень
- •Интервальный тип
- •Вещественный тип
- •Вещественные типы
- •Некоторые операции с вещественным типом
- •Тип дата-время
- •Выражения
- •Константы
- •Типизированные константы.
- •Переменные
- •Операции
- •Унарная операция not (отрицание)
- •Логические операции and, or, xor
- •Функции
- •Порядок вычисления выражений
- •Виды операторов
- •Простые операторы
- •Составной оператор
- •Операторы условного перехода
- •Оператор if
- •Пример 2
- •Оператор case
- •Пример 3
- •Использование enter в примере 3
- •Операторы цикла
- •Оператор цикла for
- •Пример 4
- •Оператор цикла while
- •Пример 5
- •Оператор цикла repeat
- •Пример 6
- •Использование процедур break и continue
- •Пример 7
- •Массивы
- •Статические массивы
- •Динамические массивы
- •Пример 8
- •Пример 9
- •Записи (объединения)
- •Оператор with
- •Пример 10
- •Совместимость и преобразование типов данных
- •Идентичность типов
- •Совместимость типов
- •Совместимость по присваиванию
- •Преобразование типов
- •Операторы обработки исключительных ситуаций
- •Пример 11
- •Множества
- •Операции над множествами
- •Пример 12
- •Вариантный тип данных
- •Процедуры и функции
- •Процедура
- •Функция
- •Рекурсия
- •Формальные и фактические параметры
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры без типа
- •Массивы открытого типа
- •Парамеры по умолчанию
- •Процедура exit
- •Директивы подпрограммы
- •Соглашения по передаче данных
- •Директива forward
- •Директива external
- •Директива assembler
- •Перегруженные подпрограммы
- •Пример 13
- •Инкапсуляция
- •Класс как объектный тип
- •Наследование
- •Области видимости
- •Операции is и as
- •Виды методов
- •Методы virtual и полиморфизм
- •Методы dynamic
- •Методы message
- •Методы abstract
- •Методы override
- •Методы class
- •Пример 14
- •Динамическое создание компонентов
- •Использование класса со счетчиком объектов
- •Отслеживание разрушения объектов
- •События
- •Указатели на методы
- •Пример 15
- •Типы ссылки на класс
- •Свойства
- •Свойства simple
- •Свойства enumerated
- •Свойства set
- •Свойства object
- •Свойства array
- •Задание начальных значений свойствам
- •Пример 16
- •Файловые типы
- •Текстовые файлы
- •Типизированные файлы
- •Файлы без типа
- •Дополнительные процедуры и функции
- •Пример 17
- •Компонент tmainmenu
- •Указатели
- •Пример 18
- •Динамические структуры данных
- •Однонаправленные списки
- •Двунаправленные списки
- •Стеки, очереди
- •Бинарные деревья
- •Пример 19
- •Процедурный тип
- •Программные единицы dll
- •Пример 20
- •Технологии программирования
- •Потоки данных
- •Пример 21
- •Пример 22
- •Интерфейс drag and drop
- •Пример 23
- •Технология drag and dock
- •Пример 24
- •Использование функций windows api при работе с файлами
- •Пример 25
- •Использование отображаемых файлов
- •Пример 26
- •Программные потоки
- •Приоритеты потоков
- •Класс tthread
- •Пример 27
- •Использование блокировки в примере 27
- •Многопоточное приложение в примере 28
- •Проблемы синхронизации потоков
- •Список используемых в примерах компонентов
- •Список используемых компонентов и других классов
- •Библиографический список
- •Оглавление
Оглавление
ВВЕДЕНИЕ 3
ОСНОВЫ DELPHI 5
ОБЩАЯ ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ 5
ЯЗЫК ПРОГРАММИРОВАНИЯ 7
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ 7
ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ 9
СОБЫТИЙНО УПРАВЛЯЕМОЕ ПРОГРАММИРОВАНИЕ 10
WINDOWS-ПРИЛОЖЕНИЕ 11
СРЕДА ПРОГРАММИРОВАНИЯ 12
ПЕРВОНАЧАЛЬНЫЕ СВЕДЕНИЯ О ПРОЕКТЕ ПРИЛОЖЕНИЯ 15
ВСТРОЕННЫЙ ОТЛАДЧИК 18
ИСПОЛЬЗОВАНИЕ ВСТРОЕННЫХ КЛАССОВ 18
ИЕРАРХИЯ КЛАССОВ 18
ИСПОЛЬЗОВАНИЕ ПАЛИТРЫ КОМПОНЕНТОВ И ИНСПЕКТОРА ОБЪЕКТОВ 21
ИСПОЛЬЗОВАНИЕ ГРАФИКИ 22
ОСНОВНЫЕ ИНСТРУМЕНТЫ 23
ГРАФИЧЕСКИЕ ДАННЫЕ И ПАЛИТРА 25
НЕКОТОРЫЕ ОБЩИЕ СВОЙСТВА КОМПОНЕНТОВ 27
СОХРАНЕНИЕ ПРОЕКТА 29
ПОСТРОЕНИЕ ПРОСТЕЙШЕГО ПРОЕКТА 29
ПОНЯТИЕ ИСКЛЮЧИТЕЛЬНОЙ СИТУАЦИИ 31
ВВЕДЕНИЕ В OBJECT PASCAL 33
СТРУКТУРА ПРИЛОЖЕНИЯ 33
СТРУКТУРА ПРОГРАММЫ-ПРОЕКТА 34
СТРУКТУРА МОДУЛЯ 35
ПРИМЕР 1 38
ОПИСАНИЯ ПРОГРАММНЫХ ЭЛЕМЕНТОВ 42
ПРОГРАММНЫЕ ЭЛЕМЕНТЫ И АДРЕСА ПАМЯТИ 42
ОБЛАСТИ ВИДИМОСТИ 43
ПРАВИЛА ЗАПИСИ ИМЕН 43
ВРЕМЯ ЖИЗНИ ИДЕНТИФИКАТОРОВ 43
ИСПОЛЬЗОВАНИЕ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ В ПРИМЕРЕ 1 44
ИСПОЛЬЗОВАНИЕ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ В ПРИМЕРЕ 1 44
ТИПЫ 45
ПРОСТЫЕ ТИПЫ 47
ЦЕЛЫЕ ТИПЫ 48
СИМВОЛЬНЫЕ ТИПЫ 49
ЛОГИЧЕСКИЕ ТИПЫ 50
ТИП ПЕРЕЧЕНЬ 51
ИНТЕРВАЛЬНЫЙ ТИП 52
ВЕЩЕСТВЕННЫЙ ТИП 52
ТИП ДАТА-ВРЕМЯ 54
ВЫРАЖЕНИЯ 54
КОНСТАНТЫ 55
ТИПИЗИРОВАННЫЕ КОНСТАНТЫ. 55
ПЕРЕМЕННЫЕ 56
ОПЕРАЦИИ 56
ФУНКЦИИ 58
ПОРЯДОК ВЫЧИСЛЕНИЯ ВЫРАЖЕНИЙ 59
ВИДЫ ОПЕРАТОРОВ 59
ПРОСТЫЕ ОПЕРАТОРЫ 60
СОСТАВНОЙ ОПЕРАТОР 61
ОПЕРАТОРЫ УСЛОВНОГО ПЕРЕХОДА 62
ОПЕРАТОР IF 62
ПРИМЕР 2 62
ОПЕРАТОР CASE 66
ПРИМЕР 3 67
ИСПОЛЬЗОВАНИЕ ENTER В ПРИМЕРЕ 3 71
ОПЕРАТОРЫ ЦИКЛА 73
ОПЕРАТОР ЦИКЛА FOR 73
ПРИМЕР 4 74
ОПЕРАТОР ЦИКЛА WHILE 80
ПРИМЕР 5 80
ОПЕРАТОР ЦИКЛА REPEAT 83
ПРИМЕР 6 83
ИСПОЛЬЗОВАНИЕ ПРОЦЕДУР BREAK И CONTINUE 87
ПРИМЕР 7 87
МАССИВЫ 91
СТАТИЧЕСКИЕ МАССИВЫ 91
ДИНАМИЧЕСКИЕ МАССИВЫ 93
ПРИМЕР 8 95
СТРОКИ 97
ПРИМЕР 9 99
ЗАПИСИ (ОБЪЕДИНЕНИЯ) 104
ОПЕРАТОР WITH 106
ПРИМЕР 10 106
СОВМЕСТИМОСТЬ И ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ 115
ИДЕНТИЧНОСТЬ ТИПОВ 116
СОВМЕСТИМОСТЬ ТИПОВ 116
СОВМЕСТИМОСТЬ ПО ПРИСВАИВАНИЮ 116
ПРЕОБРАЗОВАНИЕ ТИПОВ 117
ОПЕРАТОРЫ ОБРАБОТКИ ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ 117
ПРИМЕР 11 120
МНОЖЕСТВА 124
ОПЕРАЦИИ НАД МНОЖЕСТВАМИ 125
ПРИМЕР 12 127
ВАРИАНТНЫЙ ТИП ДАННЫХ 131
ПРОЦЕДУРЫ И ФУНКЦИИ 132
ПРОЦЕДУРА 134
ФУНКЦИЯ 135
РЕКУРСИЯ 136
ФОРМАЛЬНЫЕ И ФАКТИЧЕСКИЕ ПАРАМЕТРЫ 137
ПАРАМЕТРЫ-ЗНАЧЕНИЯ 137
ПАРАМЕТРЫ-ПЕРЕМЕННЫЕ 138
ПАРАМЕТРЫ-КОНСТАНТЫ 138
ПАРАМЕТРЫ БЕЗ ТИПА 139
МАССИВЫ ОТКРЫТОГО ТИПА 140
ПАРАМЕРЫ ПО УМОЛЧАНИЮ 141
ПРОЦЕДУРА EXIT 142
ДИРЕКТИВЫ ПОДПРОГРАММЫ 142
СОГЛАШЕНИЯ ПО ПЕРЕДАЧЕ ДАННЫХ 142
ДИРЕКТИВА FORWARD 143
ДИРЕКТИВА EXTERNAL 143
ДИРЕКТИВА ASSEMBLER 144
ПЕРЕГРУЖЕННЫЕ ПОДПРОГРАММЫ 144
ПРИМЕР 13 145
КЛАССЫ 151
ИНКАПСУЛЯЦИЯ 151
КЛАСС КАК ОБЪЕКТНЫЙ ТИП 152
НАСЛЕДОВАНИЕ 153
ОБЛАСТИ ВИДИМОСТИ 153
ОПЕРАЦИИ IS И AS 154
МЕТОДЫ 155
ВИДЫ МЕТОДОВ 156
МЕТОДЫ VIRTUAL И ПОЛИМОРФИЗМ 156
МЕТОДЫ DYNAMIC 158
МЕТОДЫ MESSAGE 158
МЕТОДЫ ABSTRACT 159
МЕТОДЫ OVERRIDE 160
МЕТОДЫ CLASS 160
ПРИМЕР 14 160
ДИНАМИЧЕСКОЕ СОЗДАНИЕ КОМПОНЕНТОВ 160
ИСПОЛЬЗОВАНИЕ КЛАССА СО СЧЕТЧИКОМ ОБЪЕКТОВ 162
ОТСЛЕЖИВАНИЕ РАЗРУШЕНИЯ ОБЪЕКТОВ 164
СОБЫТИЯ 165
УКАЗАТЕЛИ НА МЕТОДЫ 166
ПРИМЕР 15 167
ТИПЫ ССЫЛКИ НА КЛАСС 170
СВОЙСТВА 171
СВОЙСТВА SIMPLE 171
СВОЙСТВА ENUMERATED 172
СВОЙСТВА SET 173
СВОЙСТВА OBJECT 173
СВОЙСТВА ARRAY 175
ЗАДАНИЕ НАЧАЛЬНЫХ ЗНАЧЕНИЙ СВОЙСТВАМ 176
ПРИМЕР 16 178
ФАЙЛОВЫЕ ТИПЫ 183
ТЕКСТОВЫЕ ФАЙЛЫ 185
ТИПИЗИРОВАННЫЕ ФАЙЛЫ 187
ФАЙЛЫ БЕЗ ТИПА 188
ДОПОЛНИТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ 189
ПРИМЕР 17 189
КОМПОНЕНТ TMAINMENU 190
УКАЗАТЕЛИ 197
ПРИМЕР 18 200
ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ 203
ОДНОНАПРАВЛЕННЫЕ СПИСКИ 204
ДВУНАПРАВЛЕННЫЕ СПИСКИ 206
СТЕКИ, ОЧЕРЕДИ 207
БИНАРНЫЕ ДЕРЕВЬЯ 208
ПРИМЕР 19 210
ПРОЦЕДУРНЫЙ ТИП 218
ПРОГРАММНЫЕ ЕДИНИЦЫ DLL 219
ПРИМЕР 20 220
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ 226
ПОТОКИ ДАННЫХ 226
ПРИМЕР 21 227
ПРИМЕР 22 234
ИНТЕРФЕЙС DRAG AND DROP 238
ПРИМЕР 23 239
ТЕХНОЛОГИЯ DRAG AND DOCK 243
ПРИМЕР 24 245
ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ WINDOWS API ПРИ РАБОТЕ С ФАЙЛАМИ 267
ПРИМЕР 25 271
ИСПОЛЬЗОВАНИЕ ОТОБРАЖАЕМЫХ ФАЙЛОВ 274
ПРИМЕР 26 276
ПРОГРАММНЫЕ ПОТОКИ 281
ПРИОРИТЕТЫ ПОТОКОВ 282
КЛАСС TTHREAD 283
ПРИМЕР 27 285
ИСПОЛЬЗОВАНИЕ БЛОКИРОВКИ В ПРИМЕРЕ 27 288
МНОГОПОТОЧНОЕ ПРИЛОЖЕНИЕ В ПРИМЕРЕ 28 290
ПРОБЛЕМЫ СИНХРОНИЗАЦИИ ПОТОКОВ 296
СПИСОК ИСПОЛЬЗУЕМЫХ В ПРИМЕРАХ КОМПОНЕНТОВ 298
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 299
Основы программирования на Delphi.
Учебное пособие.
Составители: Емельянов Виктор Иванович
Воробьев Виктор Ильич
Тюрина Татьяна Петровна
Редактор Т.П. Бабокина
Лицензия ЛР № 020714 от 02.09.93
Подписано
в печать Формат 60
256
1/16
Бумага типографская. Отпечатано на ризографе.
Усл. печ. л. 16,00. Уч. изд. л. 19,73. Тираж 100 экз.
Заказ
Российский химико – технологический университет им. Д.И.Менделеева, Новомосковский институт. Издательский центр.
Адрес института: 301670 Новомосковск Тульской области, Дружбы, 8.
