С++ Builder 5. Руководство разработчика в двух томах
Джерод Холлингворс, Дэн Баттерфилд, Боб Свот и др.
Книга C++Builder 5. Руководство разработчика состоит из семи частей. Части I и II вошли в первый том, а части с III по VII - в второй. В первых пяти частях материал излагается в порядке возрастания сложности. В них описаны множество технологий, используемых при программировании на языке C++ задач обмена информацией по сети (как локальной, так и глобальной), работе с базами данных, создании распределенных приложений, работающих в среде Web, создании графических приложений на базе OpenGL и распространении/установке программных продуктов. Естественно, что основное внимание уделено средствам поддержки этих технологий, имеющимся в среде C++Builder 5. Последние две части содержат практические рекомендации, описание различных нюансов использования C++Builder, примеры реальных приложений и список рекомендуемые источников информации, касающейся C++Builder.В части I (главы с 1 по 11) содержатся сведения, необходимые для создания приложений общего назначения в среде разработки C+
Введение
Этот чрезвычайно интересный проект имел, казалось бы, очень простую цель - написать новую книгу о C++Builder 5, где были бы представлены не только сведения о новой версии 5, но и другие темы, которые никогда и нигде не поднимались.
Идея создания этой книги появилась в ноябре 1999 года сразу после получения письма от Джарода Холингвэрта в списке рассылки технических материалов по C++Builder - "The Bits" (http://www.thebits.org).
"Я только что вернулся с замечательной конференции разработчиков Australia & New Zealand BorCon99. На ней было представлено большое количество модернизированных версий всех программных продуктов Borland; учебные пособия и семинары были достаточно информативны. В общем все было великолепно, но мне показалось, что книги C++Builder 5 Unleashed там не было┘"
Это открытие изумило всех подписчиков The Bits, потому что книги серии Unleashed имеют репутацию бесценных источников информации, причем довольно часто они являются единственным доступным справочным пособием по C++Builder (помимо руководств для пользователей Teach Yourself┘ и Developer▓s Guide фирмы Borland).
Некоторые подписчики выразили готовность написать статьи о своей области деятельности, и таким образом было положено начало этому проекту. Прежде всего следовало решить, какие темы наиболее интересны сообществу разработчиков C++Builder. Для этого был создан Web-сайт под названием "The C++Builder Book Writers▓ Guild" ("Гильдия писателей книги по C++Builder") с интерактивным отчетом об исследовании этой проблемы, который был разрекламирован среди большого количества форумов и списков рассылки разработчиков C++Builder. Результаты этого исследования и интерактивных обсуждений (которые можно найти на Web-сайте книги по адресу http://www.bcb5book.force9.co.uk) помогли окончательно сформировать основу книги.
Итак, вот что получилось в итоге. В написании книги приняли участие 34 автора из многих стран мира, включая Австралию, Бахрейн, Бразилию, Канаду, Данию, Гонконг, Ирландию, Нидерланды, Великобританию и США. Каждый автор представил статью в своей области, которая приняла окончательный вид после обмена мнениями по электронной почте, обсуждения в чате и на Web-сайте (а также по телефону). Несмотря на активную профессиональную и личную жизнь, которую ведут все авторы, им удалось найти время для работы над книгой. У большинства авторов небольшой опыт написания книг или нет вовсе; одновременно читатель найдет среди них известных авторов книг по C++Builder и Delphi, участников списка рассылки TeamB и создателей Web-сайтов, посвященных C++Builder.
На эту очень сложную работу организаторам проекта пришлось потратить более 600 часов, отправить 2000 и получить более 3500 электронных сообщений, касающихся только организационных вопросов. Мы получили невероятно полезный опыт и надеемся, что история проекта убедит читателя в отсутствии чего-либо загадочного в написании технических книг. Читатель может попробовать и убедиться в этом сам. Авторы надеются, что они создали книгу, которая окажется полезной для пользователей всех версий C++Builder и при разработке всех типов приложений. Мы постарались включить в нее темы и методы, которые не описывались в других книгах, а также представить новые компоненты C++Builder 5. Кроме того, авторы надеются, что, благодаря уникальному способу написания этой книги, сохранен дух C++Builder/Delphi - делиться знаниями с другими.
Важные замечания
Поскольку над книгой работало очень много авторов, различия в их литературных стилях могут быть заметны даже в пределах одной главы. Мы (авторы и группа редакторов издательства Sams) постарались устранить этот недостаток, но в некоторых местах этого сделать не удалось.
Как это всегда бывает с техническими книгами, несмотря на все наши усилия, в тексте и прилагаемом коде неизбежно присутствуют случайные ошибки. Для их устранения мы поддерживаем список найденных ошибок на Web-сайте книги по адресу http://www.bcb5book.force9.co.uk и на Web-сайте издательства Sams по адресу http://www.samspublishing.com. Сообщения о найденных ошибках, а также вопросы и замечания вы можете послать по адресу feedback@bcb5book.f9.co.uk.
Что находится на прилагаемом компакт-диске
Компакт-диск содержит коды всех примеров и проектов C++Builder из этой книги. Они собраны в отдельных папках для каждой главы, а доступ к ним может быть организован с помощью встроенного интерфейса. Некоторые папки (для глав 13, 15, 16, 18 и 19) также содержат файлы README.TXT с важной информацией.
Кроме того, не нем собрано большое количество бесплатных, условно бесплатных, демонстрационных и пробных версий компонентов и приложений, которые могут представлять интерес для пользователей C++Builder. Их список можно просматривать также с помощью специальной программы-интерфейса для этого компакт-диска. Убедиться в том, что этот список содержит самую свежую информацию о содержимом компакт-диска, можно, открыв в корневом каталоге компакт-диска файл README.TXT.
Благодарности
В ходе работы над этим проектом список авторов постоянно изменялся, что было связано с переключением их деятельности на более приоритетные задачи. Пользуясь возможностью, мы хотим поблагодарить всех, кто выразил желание помочь в создании книги, но не смог продолжить эту работу. Выражаем особую благодарность Рику Малику (Rick Malik), создателю (и владельцу) Web-сайта книги, который затратил огромное количество времени и усилий на начальных стадиях этого проекта.
На кого рассчитана эта книга
Книга не является ни учебным пособием по C++, ни учебником по использованию пакета C++Builder. Скорее всего, она представляет собой руководство по использованию C++Builder для создания более качественных, крупных и сложных приложений, для расширения навыков работы с C++Builder и ознакомления с новыми компонентами C++Builder 5.
Если вы уже имеете опыт разработки приложений с помощью C++Builder, желаете совершить переход от версии 4 к версии 5 или повысить уровень своих знаний, то эта книга предназначена именно для вас. Изложение материала постепенно усложняется в большинстве глав и книге в целом. Поэтому она будет полезна также для начинающих пользователей C++Builder, хотя первоначально предназначалась только для читателей со средним и даже высоким уровнем подготовки. В результате оказалось, что она доступна читателям всех уровней, несмотря на повышенную сложность некоторых обсуждаемых тем.
Системные требования для работы с C++Builder
Книга C++Builder 5 Developer▓s Guide в основном предназначена для пользователей C++Builder версии 5, но большая часть текста и кода примеров в равной степени применима и для версии 4. Применимость излагаемого материала для каждой из версий C++Builder указана в табл. В.1.
Таблица В.1. Применимость книги (в процентах) для разных версий C++Builder
Версия C++Builder
Применимость
C++Builder 5 Enterprise
100%
C++Builder 5 Professional
94%
C++Builder 5 Standard
77%
C++Builder 4 Enterprise
84%
C++Builder 4 Professional
79%
Хотя большая часть кода, содержащегося в книге, должна работать и с C++Builder версии 4 (конечно, за исключением особых компонентов версии 5), многие проекты C++Builder на прилагаемом компакт-диске представлены в формате, пригодном для версии 5. Так как этот формат несовместим с C++Builder версии 4, то для использования их в формате версии 4 пользователям необходимо создать новые проекты, вставить в них код с прилагаемого компакт-диска, а затем добавить формы и соответствующие свойства.
Ниже перечислены минимальные системные требования для C++Builder 5 Enterprise:
Intel Pentium 90 или выше (рекомендуется Pentium 166),
Microsoft Windows 2000, Windows 95, 98 или NT4.0 с Service Pack 3 или выше,
оперативная память 32 Mбайт (рекомендуется 64 Mбайт)
жесткий диск: 253 Mбайт для минимальной инсталляции, 388 Mбайт для полной инсталляции,
дисковод компакт-дисков,
монитор VGA или с более высокой разрешающей способностью,
мышь или другой манипулятор.
Структура книги
Книга состоит из семи частей. Первые пять частей организованы в виде естественной последовательности тем, начиная с описания основных методов работы с C++Builder и C++, методов обмена данными, приемов работы с базой данных, в Web-среде и распределенного программирования и до более сложных вопросов программирования, включая OpenGL, а также инсталляцию и распространение программного обеспечения. Последние две части содержат подсказки, советы и рекомендации по использованию C++Builder, пример рабочего приложения, а также другие рекомендованные источники информации о C++Builder.
Ниже приводится краткое описание частей книги.
Часть I. "Основы C++Builder 5". Эта часть, состоящая из глав с 1-ой по 11-ю, содержит все, что необходимо знать для оптимального использования C++Builder 5 при разработке приложений. Она включает введение в C++Builder и интегрированную среду разработки (Integrated Development Environment) (главы 1 и 2); советы по программированию на C++ и разработке программного обеспечения с C++Builder (главы 3-5); обсуждение вопросов компиляции, оптимизации и отладки (главы 6 и 7); а также исчерпывающую информацию по использованию и созданию VCL-компонентов (главы 8-11).
Часть II. "Обмен информацией, базы данных и программирование в Web". Эта часть, включающая глава с 12-ой по 14-ю, охватывает многие аспекты программирования обмена данными, работы с базой данных и в Web-среде. Она включает описание протоколов последовательного обмена данными и работы в Internet (глава 12); программирование на основе WebBroker, InternetExpress и XML (глава 13); программирование базы данных, в частности ADO Express, InterBase Express, с помощью нового компонента Data Module Designer, а также обсуждение параметров архитектуры баз данных (глава 14).
Часть III. "Интерфейсы и распределенные вычисления". Эта часть (главы 15-22) содержит подробную информацию по всем аспектам программирования интерфейсов и распределенных вычислений. Она включает создание и использование DLL-модулей, пакетов C++Builder и подключаемых модулей (глава 15); программирование COM, DCOM и COM+ (главы 16-18); MIDAS 3 (глава 19); CORBA (глава 20); интеграция с Microsoft Office, в частности с Word и Excel (глава 21); программирование ActiveX (глава 22).
Часть IV. "Более сложные методы работы в C++Builder". Эта часть (главы 23-26) охватывает дополнительные вопросы, которые обычно отсутствуют в книгах по C++Builder: усовершенствованные методы печати и представления данных (глава 23); исчерпывающая информация об использовании Win32 API (глава 24); обработка изображений (GDI, форматы GIF, JPEG и т.д.) и звука (WAV, MP3 и т.д.) с помощью C++Builder (глава 25); а также обсуждение более сложных вопросов программирования на основе DirectX и OpenGL (глава 26).
Часть V. "Инсталляция и распространение приложения C++Builder". Эта часть (главы 27-29) содержит дополнительную информацию, которая обычно не входит в книги по C++Builder. Она включает методы и рекомендации по созданию стандартных файлов справки Windows и файлов справки в формате HTML (глава 27); вопросы распространения программного обеспечения с особым вниманием к аспектам, связанным с условно-бесплатным программным обеспечением (глава 28); методы инсталляции и обновления программного обеспечения, включая контроль версий с помощью TeamSource (глава 29).
Часть VI. "База знаний". Эта часть включает главы 30 и 31, которые содержат набор подсказок, советов и рекомендаций по работе с C++Builder (глава 30); а также пример полноценного рабочего приложения (глава 31).
Часть VII. "Приложение". Приложение содержит исчерпывающий список ресурсов с описанием C++Builder, включая Web-сайты (особенно Web-сайты сообщества разработчиков, использующих программные продукты фирмы Borland, а также CodeCentral), телеконференции, списки рассылки, форумы, книги, журналы и пользовательские группы.