От автора________________________________________________25

(остальные компоненты рассмотрены в других главах). Пользователь C++Builder,
как и любой другой большой системы, обычно использует только часть ее возмож-
ностей, только свои любимые компоненты, которые он изучил. Поэтому, вероятно,
даже тем, кто уже работал с C++Builder, будет полезно посмотреть материал главы
3, чтобы обогатить свою палитру используемых компонентов.

Вторая и третья части книги — методические. Вторая часть, включающая
главы с 4 по 8, посвящена различным аспектам построения прикладных программ
для Windows. В каждой из этих глав идет последовательное изложение материала,
сопровождаемое многочисленными примерами. Фактически, каждую главу можно
рассматривать как раздел учебного курса по соответствующему вопросу. Но, по-
скольку все аспекты построения приложений в C++Builder тесно связаны друг с
другом, пришлось выбирать один из двух возможных вариантов построения кни-
ги: или придерживаться строгой последовательности изложения (в каждой главе
использовать только то, о чем было сказано в предыдущих главах), что неминуемо
ведет к потере полноты изложения, или излагать каждый вопрос полностью, но
тогда допускать при необходимости немало ссылок на материалы, изложенные в
последующих главах. Учебники строятся по первому принципу и это является
причиной того, что большинство книг по C++Builder грешат неполнотой: рассмат-
риваются основы какой-то темы, но многие важнейшие ее аспекты опускаются,
поскольку для их изложения нужны сведения из еще не изученного раздела. В
этой книге принят второй подход: каждая глава излагает соответствующую тему
полностью и содержит ссылки на разделы других глав, в которых читатель может
прояснить для себя какие-то непонятные ему вопросы. Таким образом, каждая
глава может рассматриваться как законченный методический и справочный мате-
риал по соответствующей теме. Благодаря этому читатель может изучать главы в
той последовательности, какая нужна ему для его конкретной работы, опуская
главы, не представляющие для него в данный момент интереса. Исключение, мо-
жет быть, представляет только глава 4, в которой рассматриваются наиболее об-
щие вопросы построения прикладных программ для Windows и которую, вероят-
но, надо прочитать (может быть, с некоторыми купюрами), независимо от конк-
ретных пристрастий читателя к той или иной тематике.

Глава 5 посвящена вопросам построения приложений, использующих графи-
ку и средства мультимедиа. В главе 6 рассматриваются различные аспекты взаи-
модействия приложения с внешними программами. Эти вопросы нередко излага-
ются в литературе по C++Builder очень бегло. Однако, опыт показывает, что часто
к помощи C++Builder обращаются именно для построения пользовательского ин-
терфейса к уже имеющимся программам, разработанным ранее для Windows или
DOS. Поэтому взаимодействие с этими готовыми программами хотя бы просто на
уровне вызова их выполняемых модулей для многих разработчиков является
очень важным вопросом. Впрочем, в главе 6 рассматривается и методика более
тонкого взаимодействия приложений: использование сообщений Windows, техно-
логии OLE и DDE. Глава 7 рассматривает различные способы повторного использо-
вания разработанных вами кодов: построение шаблонов и создание новых компо-
нентов, разработку иерархии форм, библиотек DLL, пакетов. Владение различны-
ми способами повторного использования кодов может экономить массу времени
при разработке серии приложений и способствует тому, что с каждым новым при-
ложением ваши затраты на разработку будут становиться все меньше и меньше. В
главе 8 детально излагается методика построения справочных файлов Windows.
Это не связано непосредственно с C++Builder и поэтому, если этот вопрос и затра-
гивается в книгах о C++Builder, то очень поверхностно. Но в настоящее время
трудно представить себе серьезную прикладную программу для Windows, не содер-
жащую встроенной в нее контекстной справочной системы. Поэтому построению
таких систем в этой книге уделено должное внимание.