- •Программирование на языке Delphi.
 - •1. Краткий экскурс в историю
 - •1.1. Языки программирования
 - •1.2. Объектно-ориентированное программирование
 - •1.3. Визуальное программирование
 - •1.4. Среда программирования Delphi
 - •1.5. Технология Java
 - •1.6. Среда программирования Kylix
 - •1.7. Технология .Net
 - •... И опять среда Delphi
 - •2. Основы языка Delphi
 - •2.1. Алфавит
 - •2.1.1. Буквы
 - •2.1.2. Числа
 - •2.1.3. Слова-идентификаторы
 - •2.1.4. Комментарии
 - •2.2. Типы данных
 - •2.2.1. Понятие типа данных
 - •2.2.2. Простые типы данных
 - •Целочисленные типы данных
 - •Вещественные типы данных
 - •Временной тип данных
 - •Символьные типы данных
 - •Булевские типы данных
 - •Определение новых типов данных
 - •Перечисляемые типы данных
 - •Интервальные типы данных
 - •2.3. Данные
 - •2.3.1. Константы
 - •2.3.2. Переменные
 - •2.4. Операции
 - •2.4.1. Выражения
 - •2.4.2. Арифметические операции
 - •2.4.3. Операции отношения
 - •2.4.4. Булевские операции
 - •2.4.5. Операции с битами (эта часть пока не нужна)
 - •2.4.6. Очередность выполнения операций
 - •2.5. Строки
 - •2.5.1. Строковые значения
 - •2.5.2. Строковые переменные
 - •2.5.3. Операции над строками
 - •2.5.4. Стандартные процедуры и функции для работы со строками
 - •2.6. Операторы
 - •2.6.1. Общие положения
 - •2.6.2. Простые операторы
 - •Оператор присваивания
 - •Оператор вызова процедуры
 - •Пустой оператор
 - •Оператор безусловного перехода
 - •2.6.3. Структурированные операторы
 - •Составной оператор
 - •Оператор ветвления if
 - •Оператор множественного выбора case
 - •Оператор повтора for
 - •Оператор повтора repeat
 - •Оператор повтора while
 - •2.6.4. Прямая передача управления в операторах повтора
 - •2.7. Подпрограммы
 - •2.7.1. Общие положения
 - •2.7.2. Объявление процедур и функций
 - •Список формальных параметров
 - •Локальные объявления
 - •Тип возвращаемого значения
 - •Соглашения о вызове подпрограмм
 - •2.7.3. Вызов процедур и функций
 - •2.7.4. Перегрузка процедур и функций
 - •2.7.5. Рекурсивные подпрограммы
 - •2.7.6. Упреждающее объявление процедур и функций
 - •2.7.7. Процедурные типы данных
 - •2.7.8. Стандартные процедуры и функции
 - •2.8. Структура программных единиц
 - •2.8.1. Структура файла проекта
 - •Заголовок программы
 - •Подключение модулей
 - •Программный блок
 - •2.8.2. Структура модуля
 - •2.8.3. Стандартные модули языка Delphi
 - •2.8.4. Область действия идентификаторов
 - •2.9. Массивы
 - •2.9.1. Статические массивы
 - •2.9.2. Работа с массивами
 - •2.9.3. Массивы в параметрах процедур и функций
 - •2.9.4. Уплотнение структурных данных в памяти
 - •2.9.5. Динамические массивы
 - •2.10. Множества
 - •2.10.1. Объявление множества
 - •2.10.2. Операции над множествами
 - •2.10.3. Стандартные процедуры для работы с множествами
 - •2.11. Записи
 - •2.11.1. Объявление записи
 - •2.11.2. Операции над записями
 - •2.11.3. Записи с вариантами
 - •2.12. Файлы
 - •2.12.1. Понятие файла
 - •2.12.2. Работа с файлами
 - •2.12.3. Стандартные подпрограммы управления файлами
 - •2.13. Переменные с непостоянным типом значений
 - •2.13.1. Тип данных Variant
 - •2.13.2. Значения переменных с типом Variant
 - •2.13.3. Variant в выражениях
 - •2.13.4. Преобразование вариантов к другим типам данных
 - •2.13.5. Подпрограммы для работы с вариантами
 - •2.13.6. Вариантные массивы
 - •2.14. Указатели
 - •2.14.1. Понятие указателя
 - •2.14.2. Стандартные указательные типы
 - •2.14.3. Динамическое распределение памяти
 - •2.14.4. Операции над указателями
 - •2.14.5. Процедуры GetMem и FreeMem
 - •2.15. Представление строк в памяти
 - •2.16. Нуль-терминированные строки
 - •2.17.1. Встроенный ассемблер
 - •2.17.2. Подключение внешних подпрограмм
 - •Delphi 6 в подлиннике
 - •Часть I. Введение в delphi 6
 - •Глава 1. Среда Delphi 6
 - •Глава 2. Язык Object Pascal
 - •Глава 3. Использование визуальных компонентов
 - •Глава 4. Форма - главный компонент приложения
 - •Глава 20. Реляционный способ доступа к данным
 - •Глава 21. Работа с отчетами
 - •Глава 22. Инструментальные средства
 - •Часть V. Удаленные базы данных
 - •Глава 23. Введение в работу с удаленными базами данных
 - •Глава 24. Работа с удаленными базами данных
 - •Глава 25. Инструментальные средства для
 - •Глава 26. Трехуровневые приложения
 - •Часть VI. Публикация баз данных в интернете
 - •Глава 27. Введение в технологии публикаций
 - •Глава 28. Web-приложения, серверы и интерфейсы
 - •Глава 29. Публикация баз данных средствами Delphi
 
2.4.4. Булевские операции
Результатом выполнения логических (булевских) операций является логическое значение True или False (приложение №8). Операндами в логическом выражении служат данные типа Boolean.
| 
				 Операция  | 
				 Действие  | 
				 Выражение  | 
				 A  | 
				 B  | 
				 Результат  | 
| 
				 not  | 
				 Логическое отрицание  | 
				 not A  | 
				 TrueFalse  | 
				 
  | 
				 FalseTrue  | 
| 
				 and  | 
				 Логическое И  | 
				 A and B  | 
				 TrueTrue FalseFalse  | 
				 TrueFalseTrueFalse  | 
				 TrueFalseFalseFalse  | 
| 
				 or  | 
				 Логическое ИЛИ  | 
				 A or B  | 
				 TrueTrue FalseFalse  | 
				 TrueFalseTrueFalse  | 
				 TrueTrueTrueFalse  | 
| 
				 xor  | 
				 Исключающее ИЛИ  | 
				 A xor B  | 
				 TrueTrue FalseFalse  | 
				 TrueFalseTrueFalse  | 
				 FalseTrueTrueFalse  | 
Результаты выполнения типичных логических операций:
| 
				 Выражение  | 
				 Результат  | 
| 
				 not (17 > 19)  | 
				 True  | 
| 
				 (7 <= 8) or (3 < 2)  | 
				 True  | 
| 
				 (7 <= 8) and (3 < 2)  | 
				 False  | 
| 
				 (7 <= 8) xor (3 < 2)  | 
				 True  | 
2.4.5. Операции с битами (эта часть пока не нужна)
Если операнды в булевской операции имеют целочисленный тип, то операция выполняется над битами операндов и называется побитовой. К побитовым операциям также относятся операции сдвига битов влево (shl) и вправо (shr).
| 
				 Операция  | 
				 Действие  | 
				 Тип операндов  | 
				 Тип результата  | 
| 
				 not  | 
				 Побитовое отрицание  | 
				 Целый  | 
				 Целый  | 
| 
				 and  | 
				 Побитовое И  | 
				 Целый  | 
				 Целый  | 
| 
				 or  | 
				 Побитовое ИЛИ  | 
				 Целый  | 
				 Целый  | 
| 
				 xor  | 
				 Побитовое исключающее ИЛИ  | 
				 Целый  | 
				 Целый  | 
| 
				 shl  | 
				 Сдвиг влево  | 
				 Целый  | 
				 Целый  | 
| 
				 shr  | 
				 Сдвиг вправо  | 
				 Целый  | 
				 Целый  | 
Примеры побитовых операций:
| 
				 Выражение  | 
				 Результат  | 
| 
				 not $FF00  | 
				 $00FF  | 
| 
				 $FF00 or $0FF0  | 
				 $FFF0  | 
| 
				 $FF00 and $0FF0  | 
				 $0F00  | 
| 
				 $FF00 xor $0FF0  | 
				 $F0F0  | 
| 
				 $FF00 shl 4  | 
				 $F000  | 
| 
				 $FF00 shr 4  | 
				 $0FF0  | 
2.4.6. Очередность выполнения операций
При выполнении выражений одни операции выполняются раньше других. Например, в выражении
| 
				 20 + 40 / 2  | 
сначала произойдет деление (ибо скобок, меняющих естественный порядок выполнения операций, нет) и только потом — сложение. Выполнение каждой операции происходит с учетом ее приоритета. Не зная приоритета каждой операции, крайне трудно правильно записать даже самое простое выражение.
Значения приоритетов для рассмотренных выше операций представлены в приложении №9.
| 
				 Операция  | 
				 Приоритет  | 
				 Описание  | 
| 
				 –, not  | 
				 Первый  | 
				 Унарный минус, отрицание  | 
| 
				 *, /, div, mod, and  | 
				 Второй  | 
				 Операции типа умножение  | 
| 
				 +, –, or, xor  | 
				 Третий  | 
				 Операции типа сложение  | 
| 
				 =, <>, <,>, <=, >=  | 
				 Четвертый  | 
				 Операции отношения  | 
Чем выше приоритет (первый — высший), тем раньше операция будет выполнена.
