РЕЦЕНЗИИ
Эпплман Дан . Win32 API и Visual Basic. Для профессионалов. - СПб.: Питер, 2001. - 1120 с. + компакт-диск.
Вот уже десятый год в США книга Дана Эпплмана неизменно входит в пятерку бестселлеров публикаций для VB-разработчиков среди нескольких десятков, которые всегда есть в продаже.
Лично для меня книги Дана Эпплмана в течение многих лет являются неизменным подспорьем при разработке VB-приложений и написании статей по этой тематике. Четыре года назад после публикации рецензии на английское издание (PC Week/RE, № 29/98, с. 44) я получил множество писем с одним вопросом: где достать эту книгу? Тогда был только один ответ - в любом книжном магазине США за 60 долл. Сейчас ситуация изменилась, и лучшее руководство по Win32 API для VB можно приобрести в России, причем на русском языке и гораздо дешевле.
Книга, выпущенная издательством “Питер” (www.piter.com), является переводом последнего американского издания, которое в целом соответствует первоначальному варианту, появившемуся еще для VB5 в 1997 г. Напомним, что VB6 не внес каких-то заметных изменений при работе с Win API. Поэтому все программные примеры книги на компакт-диске приведены в формате VB5 и могут быть применены для VB6. С использованием этих программ для VB.NET дело обстоит не столь оптимистично, но содержательная часть самой книги (а тем более огромного справочного материала, приведенного в ней) не менее чем на 90% актуально и для VB.NET. (Можно не сомневаться, что книгу “Win API для VB.NET” Эпплман уже написал.)
Хотя значительная часть книги посвящена формальному описанию функций Win API, ее ценность заключается в другом. Дан Эпплман решает более важную задачу - детально показать читателю разнообразные внутренние механизмы взаимодействия VB и Windows, объяснить, как и почему работают функции Win API, в том числе с точки зрения VB. Здесь приведены не все функции (этого не выдержало бы ни одно печатное издание), но после изучения книги VB-программист может смело приступать к освоению материалов SDK с примерами на Си.
Книга состоит из двадцати двух глав, четырех приложений и предметного указателя. (К сожалению, в переводном варианте исчезло разбиение глав на части, которое помогает лучше разобраться в ее содержании.) Не стоит пугаться объема - большую часть материалов можно изучать по мере необходимости, в произвольном порядке.
Первая часть (четыре главы) посвящена методическим вопросам построения Windows и технологии использования API и DLL в среде VB. Этот раздел относительно невелик (около 100 страниц), но исключительно полезен, познакомиться с ним нужно обязательно. В нем подробно разбираются архитектура внутренних объектов Windows, принципы описания DLL-функций (частным случаем которых являются API), передача параметров, методы отладки, принципы перехода от 16- к 32-разрядным API, согласование Си- и VB-терминологии, советы по преодолению различных ограничений VB и многие другие вопросы.
Вторая часть (11 глав) занимает основной объем книги, здесь рассматриваются наиболее часто используемые API-функции с краткими примерами их применения. Функции разбиты на группы (по главам), и перед их формальным описанием детально обсуждаются механизмы их реализации. В третьей части (три главы) обсуждаются возможности управления внутренними объектами Windows с помощью прямых установок параметров - Windows Messages. Четвертая часть (четыре главы) содержит расширенные примеры практического применения API-функций, а приложения - дополнительную информацию справочного характера о типах данных, форматах файлов и пр.
Хотя в книге приводится много справочного материала и обсуждаются не очень простые вопросы, читается она с увлечением. Переводчикам очень хорошо удалось сохранить непринужденный, дружеский стиль общения автора с читателем. Во многом благодаря этому она будет полезна не только профессиональным разработчикам, но и тем, кто лишь приступает к изучению тонкостей Windows-программирования. Отметим также очень удачное оформление (верстку) русского издания: его американский аналог имеет более 1500 страниц.
Пригодится также и прилагаемый компакт-диск, который является копией англоязычного издания. Он включает полный текст книги и все программные примеры. Кроме того, там находится ряд отдельных статей автора, а также вспомогательные программы и демоверсии некоторых дополнительных продуктов.