Недавно я публиковала рецензию на книгу, в которой весьма игриво рассказывалось о том, как программно потушить монитор. Предлагаю вашему вниманию еще одну книгу о программном тушении монитора, на сей раз гораздо более высокого уровня.
![]() |
А.Я.Архангельский, М.А.Тагин. Приемы программирования в C++ Builder. Механизмы windows, сети. - М.: ООО "Бином-Пресс", 2004 г. - 656 стр.
А.Я.Архангельский - автор серии книг по C++ Builder, Delphi, VCL. Среди них встречаются и книги для начинающих, являющиеся почти дословным переводом мануала к среде программирования, и материалы для опытных VCL-программистов. "Приемы программирования..." приятно удивили необычной подборкой рассматриваемых примеров вкупе с подробностью их описания.
В книге приведены примеры программирования таких задач как отображение иконки приложения в tray ("там где часы"), считывание информации из Bios, программное изменение настроек рабочего стола, программное управление курсором мыши. Много внимания уделяется программированию сети. Все примеры проиллюстрированы кодом, и подробно документированы. К книге прилагается CD с кодами программ, приведенных в качестве примера.
Обычно в книгах по конкретной среде программирования рассматривается основная библиотека среды - VCL в учебниках Delphi и C++ Builder, MFC в обзорах Visual Studio. Секрет этой книги в том, что несмотря на уклон под конкретную среду программирования, реально в примерах в большом количестве затрагиваются универсальные windows-механизмы. Этим смешением windows и VCL обеспечивается некое изящество решений поставленных задач, а также вообще больший объем решаемых вопросов, их интерес и актуальность. Сама по себе VCL является довольно скучной и зачастую малосильной - многие вопросы, такие как например программное нажатие клавиш, решаются в ней путем эмуляции (например – вызвать обработчик OnKeyDown). Сами по себе механизмы windows очень громоздки и код без использования библиотек более высокого уровня оказывается непростым для понимания (одно название LPSZCSTR чего стоит!). Эта книга описывает, как можно красиво обернуть windows-механизмы средой C++ Builder – там где брутальное windows-решение становится слишком громоздким, на подхват идет VCL со своими обертками. Решения оказываются простыми и ловкими.
На протяжении всей книги прослеживается особенная пунктуальность авторов - при рассмотрении параметров функции каждый флаг отдельно описан, вставлены замечания о необходимости дополнительных действий (о необходимости освобождать занятые ресурсы, например), при отсылках к мануалу пишется в каком именно разделе искать более подробную информацию.
Обратной стороной медали является то, что читать книгу достаточно тяжело, она написана скорее в стиле справочника. Однако же примеры, рассматриваемые в ней, не являются тривиальными, что противоречит "справочной" идеологии. То есть один раз ее придется как минимум внимательно пролистать, чтобы иметь представление о том, что в ней можно найти.
Резюме: серьезная книжка о реализации сложных трюков в среде C++ Builder с активным применением механизмов windows. Очень подробное описание задействованных приемов. Такая книга стала бы большим подспорьем всем VCL-программистам. Жаль, что Borland объявил о своих планах в ближайшем будущем отказаться от поддержки компилятора C++.
Комментарии
Отправить комментарий