Практическо ръководство по програмиране на Delphi
ПРОГРАМИРАНЕ С DELPHI 1 част
Въведение в обектноориентираното,
визуалното и събитийното програмиране
Съдържание
Списък на съкращенията.........................................................................2
Предговор...............................................................................................3
1. Езикът Object Pascal......................................................................5
1.1 Основни елементи на езика........................................................5
1.1.1 Основни знакове.............................................................................5
1.1.2 Идентификатори..............................................................................5
1.1.3 Служебни думи...............................................................................5
1.1.4 Величини........................................................................................5
1.1.5 Обща структура на програмата........................................................7
1.1.6 Изрази.............................................................................................7
1.2 Скаларни типове данни................................................................ 8
1.2.1 Стандартни скаларни типове данни.................................................. 8
1.2.2 Целочислени типове.........................................................................8
1.2.3 Приближени (реални) типове............................................................ 9
1.2.4 Тип календарно време..................................................................... 9
1.2.5 Логически тип................................................................................. 10
1.2.6 Знаков тип...................................................................................... 10
1.2.7 Текстов тип (знаков низ).................................................................. 10
1.2.8 Знаков низ завършващ с #0............................................................ 11
1.2.9 Явно изброим тип............................................................................ 14
1.2.10 Ограничен тип............................................................................... 14
1.3 Подпрограми.................................................................................. 14
1.3.1 Формални параметри.......................................................................14
1.3.1.1 Разширение на класификацията.................................................... 14
1.3.1.2 Променливата Result.................................................................... 16
1.3.1.3 Параметри по подразбиране (неявни параметри)............................17
1.3.2 Препокриване (Overloading) и полиморфни ПП.................................. 18
1.3.3 Някои често използвани стандартни ПП........................................... 19
1.4 Структурирани типове................................................................ 20
1.4.1 Масиви............................................................................................20
1.4.1.1 Статични масиви.......................................................................... 20
1.4.1.2 Динамични масиви....................................................................... 20
1.4.2 Тип файл.........................................................................................24
1.4.3 Вариантен тип................................................................................. 24
1.4.3.1 Вариантни масиви.........................................................................25
1.4.3.2 Преобразуване на типа на вариантни величини............................. 26
1.5 Съвместимост на типовете данни............................................ 27
1.5.1 Идентичност.....................................................................................28
1.5.2 Съвместимост..................................................................................28
1.5.3 Съвместимост по присвояване........................................................ 29
2. Обектноориентирано програмиране.......................................... 30
2.1 Стилове и парадигми в програмирането................................... 30
2.2 Основни понятия в ООП............................................................... 31
2.3 Предимства на ООП..................................................................... 32
2.4 Деклариране на класове от обекти............................................ 33
2.4.1 Деклариране на клас........................................................................33
2.4.2 Обекти..............................................................................................34
2.4.3 Примери.......................................................................................... 35
2.4.4 Открийте грешките........................................................................... 42
2.5 Наследяване.....................................................................................42
2.5.1 Видове наследяване.........................................................................42
2.5.2 Деклариране на наследник............................................................... 43
2.5.3 Разширени правила за съвместимост............................................... 44
2.5.4 Открийте грешките............................................................................ 51
2.6 Капсулиране (Херметизация)........................................................ 51
2.6.1 Реализация на капсулирането........................................................... 51
2.6.2 Следствие от капсулирането............................................................. 54
2.6.3 Открийте грешките............................................................................ 54
2.7 “Ранно” и “късно” Свързване............................................................55
2.8 Абстрактни класове....................................................................... 65
2.9 Полиморфизъм................................................................................ 74
2.10 Задачи.............................................................................................75
3. Визуално и събитийно програмиране......................................... 93
3.1 Компоненти......................................................................................93
3.1.1 Характеристики..................................................................................95
3.1.2 Методи............................................................................................. 95
3.1.3 Събития.............................................................................................96
3.1.4 Списъчни класове..............................................................................96
3.2 Основни контроли и компоненти.................................................. 97
3.2.1 Контролите от клас TEdit, TMemo и TButton........................................ 97
3.2.2 Бързо писане на програмен текст......................................................101
3.2.3 Контролите от клас TPopupMenu, TRadioGroup, TRadiobutton,
TCheckBox, TListBox и TLabel................................................................... 102
3.2.4 Контролите от клас TMainMenu, TBitBtn, TComboBox,
TStaticText и TListView............................................................................. 108
3.2.5 Контролите от клас TStringGrid, TToolBar, TToolButton, TImageList,
TCheckListBox, TUpDown, TOpenDialog и TSaveDialog................................ 117
3.3 Задачи.............................................................................................. 131
4. Компютърна графика.......................................................................153
4.1 Графики на равнинни криви........................................................... 154
4.1.1 Графики на функции на една променливa.......................................... 154
4.1.2 Графики на криви, зададени параметрично........................................ 162
4.1.3 Графики на криви в полярни координати............................................ 164
4.2 Операции над графични обекти.................................................... 173
4.2.1 Транслация........................................................................................173
4.2.2 Симетрия относно права (огледално изображение)............................ 173
4.2.3 Мащабиране.....................................................................................176
4.2.4 Ротация............................................................................................ 176
4.3 Компютърна анимация................................................................... 182
4.4 Интерактивна компютърна графика............................................ 201
Приложения...............................................................................................219
Приложение 1. Важни клавишни комбинации..............................................219
Приложение 2. Кодове на по-важни клавишни комбинации (Virtual key codes) 220
Приложение 3. Най-често използувани пп в ОБП........................................ 221
Приложение 4. ПП, променливи и константи в модула System.....................225
Приложение 5. ПП, променливи и константи в модула Math.........................230
Тригонометрични........................................................................................230
Други........................................................................................................ 230
Приложение 6. ПП, променливи и константи в модула SysUtils................... 232
ПРИЛОЖЕНИЕ 7. Константи за цветове..................................................... 242
ПРИЛОЖЕНИЕ 8. компоненти.................................................................... 243
ПРИЛОЖЕНИЕ 9. Основни характеристики.................................................248
ПРИЛОЖЕНИЕ 10. Основни методи........................................................... 249
ПРИЛОЖЕНИЕ 11. Основни събития..........................................................250
ЛИТЕРАТУРА............................................................................................ 251
Съдържание............................................................................................. 252