Данная книга о программировании в С++ не имеет аналогов. В ней описаны оригинальные приемы создания программ и использования системных ресурсов. Применена самая эффективная методика обучения - на живых примерах, которые можно немедленно использовать при создании собственных приложений. Емкая теоретическая часть содержит необходимый минимум сведений о программировании в C++ (в частности в Borland C++Builder). На прилагаемом компакт-диске - коды всех программ, рассмотренных в книге, и дистрибутив триал-версии Borland C++Builder 6. Данное издание можно рекомендовать и опытным программистам, и новичкам. Содержание Введение..................... 10От издательства...................... 10Часть 1. Общие сведения........... 11Глава 1. Что такое C++Builder................... 121.1. Среда разработки................. 131.2. Обзор компонентов.................. 221.3. Создание первого приложения................ 26Глава 2. Структура программы................ 282.1. Файлы, используемые в C++Builder.............. 292.2. Структура исходного файла проекта............ 302.3. Структура исходного файла формы............. 322.4. Структура заголовочного файла формы........... 332.5. Структура файла ресурсов формы............... 34Глава 3. Обзор языка C++.................... 363.1. Синтаксис языка................... 373.2. Простые типы данных............... 383.3. Структурированные типы данных................. 403.4. Тип Variant....................... 433.5. Операции................... 443.6. Преобразование основных типов............ 493.7. Классы памяти и область действия идентификатора........ 50Глава 4. Операторы................... 524.1. Операторы условного перехода............... 534.2. Операторы цикла................. 554.3. Операторы перехода................. 57Глава 5. Указатели..................... 595.1. Указатели и адреса объектов.............. 605.2. Операции с указателями................ 615.3. Указатели и массивы................ 625.4. Указатель на указатель................... 635.5. Операторы new и delete................. 635.6. Ссылки........................ 64Глава 6. Функции................. 666.1. Основные понятия..................... 676.2. Передача параметров функции............... 676.3. Перегрузка имен функций.................. 696.4. Функции с переменным количеством параметров.......... 706.5. Указатели на функции.................... 72Глава 7. Работа с файлами................... 737.1. Работа с файлами при помощи структуры FILE.......... 747.2. Функции для работы с файлами через дескриптор........... 797.3. Работа с файлами через методы компонентов............ 83Глава 8. Объектно-ориентированное программирование. Свойства,методы и события............... 848.1. Классы........................ 858.2. Свойства..................... 868.3. Методы....................... 918.4. События..................... 92Глава 9. Глобальные объекты................... 959.1. Application....................... 969.2. Screen.................... 979.3. Printer.................... 989.4. Clipboard.................... 999.5. Файлы инициализации................. 1009.6. Обработка исключительных ситуаций............. 102Глава 10. Компиляция и отладка программы............. 10510.1. Компиляция программы................. 10610.2. Отладка программы.................... 106Глава 11. Техника программирования............. 11211.1. Оптимизация программы................ 11311.2. Отладка программы.................... 12011.3. Тестирование программы............... 120Часть 2. Практические примеры.......... 122Глава 12. Создание приложения.................. 12312.1. Разработка интерфейса.............. 12412.2. Создание обработчиков событий.............. 130Глава 13. Секреты Windows.............. 13513.1. Использование функций API................ 13613.2. Сообщения.................. 14213.3. Связь между сообщениями и событиями........... 15113.4. Объекты взаимного исключения (Mutex)............ 156Глава 14. Работа с мышью и клавиатурой............. 15814.1. Использование мыши................. 15914.2. Работа с клавиатурой.................. 16714.3. Имитация нажатия клавиш.............. 172Глава 15. Кое-что об окнах................ 17315.1. Формы необычного вида................ 17415.2. Анимированное появление формы................ 17915.3. Игры с кнопкой Пуск.................. 18115.4. Окно приложения.................. 18615.5. Масштабирование форм................. 190Глава 16. Графика и рисунки................. 19216.1. Рисование в программе................... 19316.2. Инструменты для рисования................ 19316.3. Компоненты для вывода графики.............. 20316.4. Анимированный рисунок на кнопке.............. 22716.5. Использование графики в компонентах............... 233Глава 17. Как "поселить" звук в программе............... 23617.1. Функции для работы со звуком................. 23717.2. Работа с MediaPlayer................... 24017.3. Создание универсального проигрывателя.......... 24417.4. Создание видеопроигрывателя............. 24617.5. Создание проигрывателя компакт-дисков........... 248Глава 18. Выход в большой мир............. 25218.1. Запуск других приложений из программы......... 25318.2. Технология OLE................ 25718.3. Интернет...................... 270Глава 19. Ловушки.................. 27519.1. Функции ловушек Windows................. 27619.2. Динамически подключаемые библиотеки.......... 27819.3. Создание ловушки для мыши............... 27919.4. Ловушка для клавиатуры................. 284Глава 20. Реестр Windows................. 29220.1. Что такое реестр..................... 29320.2. Корневые ключи реестра................. 29320.3. Класс TRegistry................ 29420.4. Начинаем работу с реестром............... 294Глава 21. Подсказки................ 30621.1.Самые простые подсказки................ 30721.2. Подсказки для Application............... 30821.3. Подсказки в StringGrid................ 31421.4. Увидеть невидимое............... 315Глава 22. Переместить и…................ 32122.1. Технология Drag-and-Drop.............. 32222.2. Технология Drag-and-Dock.............. 332Глава 23. Ассорти.................... 33723.1. Еще раз о кнопках.................. 33823.2. Хорошо бежим................ 34323.3. Окно предварительного просмотра................ 34523.4. Создание радуги..................... 35323.5. Установка фильтров.................... 35523.6. Создание объема................... 359Приложение 1. Пункты главного меню C++Builder.......... 363Приложение 2. C++Builder и Delphi.............. 370Приложение 3. Коды клавиш................... 378Приложение 4. Цветовые константы............ 382Приложение 5. Исключения............... 384Приложение 6. Сообщения................ 389Приложение 7. Методы класса TRegistry