Рецензи
Фролов А. В., Фролов Г. В. Операционная система Windows 95. М., Диалог- МИФИ, 1996. - 288 с.
Если не принимать в расчет горы литературы по Windows 95, предназначенной для пользователя (главным образом начинающего), и огромного потока книг по программированию на современных языках - VC++, Visual Basic, Object Pascal (Delphi), Java и др., то российские специалисты, создающие приложения в этой среде, испытывают острую нехватку трудов, в которых систематически рассматривались бы аспекты программирования в Win32 на профессиональном уровне. Тем приятнее было познакомиться с очередным, 22-м томом популярной российской компьютерной библиотеки, в течение последних лет регулярно выпускаемой издательством “Диалог-МИФИ”. В книге обращают на себя внимание четкие формулировки, с пониманием дела обсуждаемые нетривиальные темы на нормальном русском языке, от которого за последнее время, благодаря нескончаемому потоку плохо переведенных книг, к сожалению, как-то стал отвыкать наш “компьютерный” читатель.
Книга разбита на семь частей и включает 31 главу. Подробно составленное оглавление и предметный английский (по-русски дано лишь несколько терминов) указатель позволяют пользоваться ею в качестве справочного пособия. В весьма “хилый” библиографический список, включающий всего 10 названий (в основном журнальные статьи), авторы на первое место поставили “свои” тома, хотя книги по этой тематике все-таки есть. Но, видимо, ссылаться на себя приятнее.
В первых главах авторы дают основы Win95, знакомя читателя со “сплошной” адресацией памяти FLAT, позволяющей исключить традиционную для прежних систем сегментную организацию и таким образом упростить программирование. Здесь обсуждаются проблемы такой принципиально новой возможности Win95, как реальная многозадачность, анализируются изменения в файловой системе, в том числе длинные имена файлов, дается представление о новом принципе регистрации программ с помощью регистрационной базы данных Registry, описываются новые органы управления и их преимущества, некоторое внимание уделяется объектно-ориентированной оболочке, созданию и использованию библиотек динамической загрузки DLL.
По ходу изложения материала приводится большое количество исходных текстов программ, написанных на языке Microsoft Visual C++, правда с использованием несколько устаревшей инструментальной среды версии 2.0. Большинство текстов достаточно хорошо прокомментировано и могут оказать существенную помощь разработчику приложений.
В седьмой главе можно найти информацию о компонентах управления. Так, рассматриваемый здесь компонент Up-Down позволяет упростить выбор значений параметра, например числа копий, выводимых на печать. Другой компонент, Hot Key, дает возможность задать комбинацию клавиш для активизации приложения в среде Win95. С помощью этой комбинации пользователь может поместить окно приложения на передний план. Компонент TrackBar позволяет установить значение параметра с помощью “движка”, а ProgressBar отражает степень завершенности процесса в процентном соотношении.
Отдельная глава посвящена органам управления Toolbar и StatusBar, которые стали неотъемлемой частью многих новых приложений. Теперь, когда эти компоненты вошли в состав Windows 95, процедура их встраивания в новые программы значительно упростилась.
Интересен раздел, в котором рассказывается, как создавать органы управления, предназначенные для информационных систем, - для просмотра баз данных в виде таблиц, списков строк и пиктограмм. В новых приложениях этой цели может служить встроенный в Win95 компонент List View. Более сложные структуры, построенные по иерархической схеме (например, вложенные каталоги), просматриваются с помощью другого встроенного компонента, Tree View. Заметим, что совсем недавно реализация подобного компонента средствами одного только программного интерфейса Windows 3.1 вызывала значительные затруднения.
Для разработчиков, мечтающих о собственном современном текстовом редакторе Rich Edit, написана отдельная глава. Такой редактор создается на базе предопределенного в Win95 класса окна, позволяет задавать шрифтовое оформление символов и обеспечивает выравнивание параграфов. Кроме того, Rich Edit может сохранять и загружать текстовые файлы в формате RTF с сохранением информации об этих процедурах. Используя технологию встраивания и связывания объектов OLE, этот редактор дает возможность поместить в текст графические иллюстрации, подготовленные с помощью приложения Paint.
Желающие оживить создаваемую программу познакомятся с разделом, в котором описывается интересный компонент Animation. Его можно применить для показа небольших видеофрагментов, главным образом в диалоговых панелях, и таким образом привлечь внимание пользователей к приложению.
Кстати, программисту, ведущему разработку не на Cи++, а на другом языке, например в среде Delphi 3.0, полезно знать, что именно из ОС Win95 современные инструментальные пакеты заимствовали ряд компонентов, таких, как TrackBar, Animation, ProgressBar, Up-Down, HotKey.
К недостаткам, на мой взгляд, следует отнести авторские отсылки по ряду вопросов к предыдущим томам, описывающим программирование в устаревшей ныне среде Windows 3.1. Это безусловно создает неудобства при работе с книгой. Затрудняет изучение материала и отсутствие дискеты с исходными текстами отлаженных программ. В самой же книге таких текстов приведено явно с избытком (видимо, для увеличения объема). Не могу не коснуться и опечаток, носящих принципиальный характер: так, например, OLE на с. 5 превратилось в ALE, что может смутить и опытного читателя.
Недостатки не снижают общую ценность книги, которая может оказаться весьма полезной как для программиста-профессионала, так и для специалиста среднего уровня, стремящегося освоить разработку приложений для Win95.
Александр Чубуков