Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛекцииЯзыки прогрИб.doc
Скачиваний:
27
Добавлен:
12.11.2019
Размер:
922.11 Кб
Скачать

3.3. Модели программирования в ms-dos и Windows

Модель программирования в Windows значительно отличается от модели программирования в MS-DOS. Первое отличие – это обработка сообщений. MS-DOS-программа на С++ имеет главную функцию main, которую вызывает операционная система при запуске программы. Если необходимо проверить нажатие клавиш, программа вызывает соответствующие функции по идентификации клавиши и выполняет команду или запрос. Программирование в MS-DOS ориентировано на обработку последовательностей команд или запросов. Для получения введенных пользователем данных DOS-программа вызывает операционную систему.

Windows-программа управляется сообщениями. Для получения введенных пользователем данных Windows-программа по сравнению с DOS-программой использует поступающие от операционной системы сообщения. При запуске программы операционная система вызывает главную функцию WinMain, которая создает основное окно программы и обрабатывает сообщения, передаваемые окну операционной системой при появлении каких-то событий. Сообщения – это средство, с помощью которого операционная система сообщает программе, что произошло какое-то событие. Для обработки каждого сообщения требуется написать функцию - обработчик. Реализация механизма обработки сообщений выполняется проще всего в цикле функции WinMain, которая обнаруживает сообщения и вызывает необходимые функции - обработчики.

Следующее отличие MS-DOS-программы и Windows-программы заключается в выводе информации пользователю, на монитор или на принтер. Недостаток MS-DOS-программы, связанной с выводом данных в видеопамять или порт принтера, заключается в том, что программа должна обращаться ко всем аппаратным средствам вывода, подключенным к системе, для каждого из которых приходилось создавать отдельные драйверы.

Концепция Windows о выводе информации – независимость от аппаратных средств вывода. Операции вывода работают с аппаратными средствами вывода через промежуточное звено, называемое контекстом устройства (device context). Контекст устройства - это структура, которая содержит набор параметров графического вывода. Программа не обращается к аппаратным средствам вывода ,как DOS-программа, а вызывает для настройки параметров контекста устройства соответствующие функции. Управление выводом осуществляется специальными программами – драйверами, которые предоставляет сама Windows, в результате чего программе не надо знать, какие имеются аппаратные средства. Драйверы принимают информацию от программы (контекста устройства) и передают соответственно этой информации данные конкретному аппаратному устройству.

Особенностью программирования в Windows, по сравнению с программированием в MS-DOS, является наличие специального файла ресурсов для хранения определения меню, структур диалоговых окон, строк, растровых изображений и т.д. Имеется возможность редактировать форматы ресурсов графическим редактором. В MS-DOS приходится хранить эти данные в отдельных файлах и затем читать их, либо иметь непосредственно в программе.

Существуют различные способы программирования для Windows. Возможен способ программирования вручную с использованием библиотеки Windows Win32 API, содержащей 1000 функций. Однако, такой способ исключительно трудоемок, т.к. появляется много рутинной работы программиста, приходится программировать многие общие функции, WinMain, InitInstance, а также функции-обработчики, имеющие стандартные каркасы.

Эффективность и более высокий уровень создания Windows- приложений на объектно-ориентированном языке Visual C++ достигается наличием в составе Visual C++ специальных методов программирования, к которым относятся:

  • библиотека классов Microsoft Foundation Classes (MFC), содержащая много стандартных задач для Windows-программирования;

  • генератор приложений AppWizard с набором разнообразных мастер- блоков Wizard, позволяющий генерировать программные коды различных типов приложений Windows;

  • интегрированная среда разработки Microsoft Visual Studio, выполняющая создание, просмотр и редактирование файлов и проектов, формирование графического интерфейса приложения.

Контрольные вопросы

  1. В чем преимущества использования библиотеки классов MFC?

  2. Какие типы приложений создает генератор приложений AppWizard?

  3. Перечислите этапы работы приложений.

  4. В чем сущность сообщений?

  5. Каким образом сопоставляются сообщения и функции- обработчики?

  6. Чем достигается высокий уровень создания Windows- приложений на объектно-ориентированном языке Visual C++?

  7. Чем отличаются модели программирования в MS-DOS

и в Windows?