Введение

В 24 и 28 томах серии "Библиотека системного программиста" мы начали рассказывать о программировании приложений Windows с использованием Microsoft Visual C++ и библиотеки классов MFC. Вы узнали об основных принципах построения приложений MFC, использовании диалоговых панелей, меню, панелях управления и панелях состояния, получили общее представление о работе с базами данных.

В этом томе мы продолжим изучение библиотеки классов MFC и ее возможностей. Теперь мы расскажем о использовании Microsoft Visual C++ и библиотеки MFC для разработки приложений Internet и Intranet. Мы также затронем технологию ActiveX и расскажем о том как использовать в своих приложениях готовые органы управления OLE и ActiveX. В приложениях, представленных в данной книге, мы будем активно работать с диалоговыми панелями. На примере списка с пиктограммами и линейного индикатора вы научитесь использовать стандартные органы управления Windows 95 и Windows NT. Мы также приведем начальные сведения о использовании мультизадачности в приложениях MFC. Одно из наших приложений будет создавать дополнительную задачу, выполняющую загрузку файлов с сервера FTP в фоновом режиме.

До недавнего времени создание приложений, которые могут работать с ресурсами сети Internet или Intranet, являлось достаточно сложной задачей. Программист должен был использовать интерфейс сокетов Windows или программировать на более низком уровне протокола TCP\IP.

Чтобы облегчить тяжелый труд программиста, Microsoft разработала новый программный интерфейс Win32 Internet, получивший красивое название WinInet. С использованием WinInet значительно облегчается создание приложений, работающих с протоколами HTTP, FTP и системой Gopher. При этом программист избавляется не только от необходимости программирования на уровне сокетов Windows или протокола TCP\IP, но и от самостоятельной реализации протоколов HTTP и FTP.

Фактически WinInet представляет собой набор функций, реализующих протоколы HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), а также включающих средства для работы с системой Gopher.

В состав библиотеки MFC начиная с версии 4.2 включен целый ряд классов, надстроенных над программным интерфейсом WinInet. Мы рассмотрим использование этих классов на примере нескольких приложений, предназначенных для работы с серверами FTP и WWW.

Приложение FtpView, рассмотренное в этой книге, позволяет соединиться с сервером FTP, просмотреть структуру каталогов сервера и даже загрузить с сервера нужные вам файлы. Модифицируя приложение FtpView мы продемонстрируем различные приемы работы с серверами FTP.

Так как загрузка файлов с сервера, особенно большого размера, может занять слишком много времени, мы расскажем о том, как можно организовать получение файла в фоновом режиме с помощью отдельной задачи. Попутно вы узнаете о том, как приложение, построенное с использованием библиотеки классов MFC, может создать несколько задач и организовать их взаимодействие.

В отдельном разделе мы рассмотрим взаимодействие с серверами WWW. На примере приложения Console HTTP мы покажем как с использованием WinInet можно передать серверу WWW запрос и получить от него интересующую вас информацию или текст страниц WWW.

Естественно, даже с использованием классов WinInet, сложно создать полноценное приложение, которое позволяет просматривать страницы WWW. Достаточно того, что такое приложение должно не только правильно интерпретировать все операторы языка HTML, но также исполнять программы на языке JAVA, и правильно отображать органы управления ActiveX.

Вы, однако, можете очень быстро создать настоящий навигатор Internet, если воспользуетесь органом управления Microsoft Web Browser Control. На основе этого органа управления построен навигатор Microsoft Internet Explorer.

Microsoft Web Browser Control представляет собой орган управления ActiveX, который вы можете включить в свое приложение и использовать его как другие органы управления Windows.

Мы приведем исходный текст приложения Look, использует Microsoft Web Browser Control для просмотра серверов Internet. Наше приложение представляет собой маленький навигатор Internet Explorer, который обладает практически теми же возможностями, что и настоящий навигатор Microsoft Internet Explorer.

В заключение мы расскажем о том, как ваше приложение может использовать Microsoft Internet Explorer, Netscape Navigator и другие навигаторы для просмотра ресурсов сети Internet или Intranet. Таким образом, например, можно организовать получение из Internet самой последней справочной информации по вашему приложению.

Как связаться с авторами

Авторы имеют почтовый адрес в сети GlasNet. Все свои замечания и предложения по содержанию книг серий "Библиотека системного программиста", а также "Персональный компьютер - шаг за шагом" вы можете присылать нам по следующему адресу:

: frolov@glas.apc.org

Наш почтовый адрес доступен не только пользователям сети Internet. Абоненты других компьютерных сетей также могут передавать нам сообщения. Ниже мы приводим наш адрес в различных сетях:

Глобальная сеть Наш адрес
CompuServe >internet:frolov@glas.apc.org
GlasNet frolov
Relcom frolov@glas.apc.org
UUCP uunet!cdp!glas!frolov

Вы также можете присылать свои пожелания почтой по адресу:

* Издательский отдел АО "ДИАЛОГ-МИФИ".
Индекс 115409, город Москва, улица Москворечье,
дом 31, корпус 2.

Приносим свои извинения за то, что не можем ответить на каждое письмо. Мы также не занимаемся рассылкой книг, дискет и исходных текстов к нашим книгам. По этому вопросу обращайтесь непосредственно в издательство “Диалог-МИФИ”.

Наш сервер WWW

В начале 1997 года мы открыли в сети Internet собственный сервер WWW. На нем вы можете получить подробную информацию о наших изданных книгах, а также о книгах, которые мы планируем издать в ближайшее время.

На сервере вы можете бесплатно получить архивы исходных текстов программ из книг серии “Библиотека системного программиста” и прочитать статьи, опубликованные нами в некоторых периодических изданиях. В дальнейшем мы планируем разместить на сервере ответы на вопросы читателей, отзывы читателей и другую полезную информацию.

Адреса нашего WWW-сервера:

http://www.glasnet.ru/~frolov

http://www.dials.ccas.ru/frolov

Благодарности

Большую помощь нам оказал сотрудник Microsoft АО Юрий Тумашко, предоставивший для работы над этой книгой дистрибутив Microsoft Visual C++ версии 4.2.

Авторы выражают благодарность Фроловой Ольге Викторовне, Кустову Виктору. Мы также благодарим всех сотрудников издательского отдела АО "ДИАЛОГ-МИФИ": Голубева Олега Александровича, Дмитриеву Наталью, Виноградову Елену, Кузьминову Оксану.

Поддержку в работе над книгами нам оказали генеральный директор АО “ДиалогНаука” Антимонов Сергей Григорьевич и руководитель антивирусного отдела АО “ДиалогНаука” Лященко Юрий Павлович, предоставившие доступ к сети Internet и позволившие нам разместить у них свой сервер WWW.

Visual C++ версия 5.0

Весной 1997 года фирма Microsoft выпустила новую версию Visual C++ 5.0, которая имеет три редакции - Lerning, Professional и Enterprise.

Значительно изменился внешний вид оболочки Microsoft Visual C++. Меню и панели управления теперь сделаны в стиле навигатора Microsoft Internet Explorer.

В Visual C++ версии 5.0 Microsoft полностью заменила систему подсказки. Теперь для просмотра справочной базы данных используется встроенный навигатор Microsoft Internet Explorer. Соответственно изменился и формат файлов справочной базы данных. Теперь они имеют расширения IVI и IVT и представляют из себя компрессованые и собранные вместе файлы HTML, файлы изображений и исходные тексты примеров.

В Visual C++ 5.0 существенно расширены возможности использования технологии ActiveX. В дополнение к библиотеке MFC в состав Visual C++ включена новая библиотека классов - Active Template Library (ATL).

Библиотека ATL ориентирована на создание небольших по размеру и быстрых в исполнении органов управления ActiveX. Эти свойства играют особенно важную роль в среде Internet, критичной к объему передаваемой информации. Для облегчения работы с библиотекой ATL Visual C++ добавлены новые средства автоматизированной разработки приложений - “волшебник” ATL Object Wizard и ATL Application Wizard.

Существенно доработан компилятор Visual C++, который теперь создает более компактный и быстрый программный код. Появилась возможность разработки приложений, ориентированных на новейшие процессоры фирмы Intel - Pentium Pro и Pentium MMX с расширенным набором мультимедийных команд.

В Visual C++ 5.0 также реализована более полная поддержка стандарта ANSI языка программирования C++. Так, например, появился логический тип bool. Переменные этого типа могут принимать всего два значения true и false.

Версия Visual C++ 5.0 Enterprise Edition содержит дополнительные средства для работы с базами данных.

Претерпели изменения средства галереи компонент Visual C++. Теперь, чтобы добавить в проект новый компонент, вы должны выбрать из меню Project строку Add to Project, а затем из открывшегося временного меню строку Components and Controls. На экране появится диалоговая панель Components and Controls Gallery (галерея компонент и органов управления). Раньше эта диалоговая панель носила название Components Gallery (галерея компонент).

Сразу после установки Microsoft Visual C++ в списке компонент каталога Gallery расположены две папки. Папка Developer Studio Components находятся компоненты Microsoft, а в папке Registered ActiveX Controls органы управления ActiveX установленные в системе.