Оглавление Введение 1
Обзор книги 1
Глава 1. Практика в Turbo Pascal 3
1.1. Преодоление ошибки "Runtime error 200" 3
1.2. Процедуры задержки времени 4
1.3. Перестановки, размещения и сочетания 8
1.3.1. Вывод перестановок 9
1.3.2. Размещения 25
1.3.3. Сочетания и их вывод 25
1.4. Моделируем один удивительный парадокс 29
1.5. Словесные игры и рекорды 34
1.5.1. Анаграммы 35
1.5.2. Квадраты слов 40
1.6. Перебор с возвратами 57
1.6.1. Поиск гамильтоновых циклов 58
1.6.2. Блоха на клетчатой бумаге 64
1.6.3. Просчитываем головоломку Full Board 69
1.6.4. Создаем свой оригинальный "Ним" 87
Глава 2. Практика на форме Delphi. Игра Calculator 115
2.1. Постановка задачи 115
2.2. Создание основной формы игры 116
2.3. Программирование игры 119
2.4. Создание формы для вывода правил игры 123
Глава 3. В Win API под DirectX 143
3.1. Шаблон минимальной программы Delphi 143
3.2. Шаблон второй программы 149
3.3. Переходим в полноэкранный режим DirectDraw 155
3.4. Создание поверхностей DirectDraw 159
3.5. Запись точек на поверхность DirectDraw 165
3.6. Переключение поверхностей DirectDraw 169
3.7. Написание игровой программы 190
3.7.1. Файл glob.pas 194
3.7.2. Файл dominoes.dpr 197
3.7.3. Модуль Midi.pas 207
3.7.4. Модуль Sound.pas 210
3.7.5. Модуль Mouse.pas 219
3.7.6. Модуль Fonts.pas 222
3.7.7. Модуль DDrawUnit.pas 227
3.7.8. Модуль Util.pas 235
3.7.9. Модуль Game.pas 250
Глава 4. Интеграция Flash и Delphi 299
4.1. Создаем во Flash игру Calculator 300
4.1.1. Добавляем звук 328
4.2. Устанавливаем компонент Shockwave Flash 330
4.3. Создаем форму и код программы 331
4.3.1. Отменяем показ меню и реакцию кнопок на нажатие клавиши 332
4.3.2. Присоединяем swf-файл к программе 334
4.3.3. Применяем функцию fscommand 334
4.3.4. Передаем в программу Delphi параметры для IsWin 335
4.3.5. Пишем функцию IsWin и остальной код Unit1.pas 336
4.3.6. Получаем результат хода во Flash-игре 345
Глава 5. Применение PCRE в Delphi 355
5.1. Синтаксис языка PCRE 356
5.1.1. Модификаторы регулярных выражений 357
5.1.2. Квантификаторы в регулярных выражениях 358
5.1.3. Символьные классы 358
5.1.4. Альтернативные шаблоны 359
5.1.5. Метасимволы и специальные символы 360
5.1.6. Мнимые символы (якоря или условия) 362
5.1.7. Захватывающие и незахватывающие скобки 363
5.1.8. Ссылки на найденный текст 365
5.1.9. Условные подшаблоны 367
5.1.10. Комментарии в регулярных выражениях 368
5.1.11. "Жадность" квантификаторов и ее ограничение 368
5.1.12. Перебор с возвратами 369
5.1.13. Атомарная группировка 370
5.1.14. Захватывающие квантификаторы 373
5.2. Программная реализация PCRE 374
5.2.1. Простые примеры использования PCRE 378
5.2.2. Именованные захватывающие скобки 382
5.2.3. Пример программы для замены текста 383
5.2.4. Пример преобразования ссылок в теги 388
5.2.5. Поиск вложенных конструкций 394
5.2.6. Лексический разбор текста 400
5.2.7. Лексический разбор с несколькими шаблонами 403
5.2.8. Обработка текста по заданной грамматике 408
Приложение. Описание компакт-диска 431
IV Оглавление V Оглавление