Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы




Скачать 418.08 Kb.
НазваниеЧеркасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы
страница2/4
ТипРеферат
rykovodstvo.ru > Руководство эксплуатация > Реферат
1   2   3   4
Создание проекта

Как уже указывалось выше, проект служит для объединения всех файлов, входящих в приложение в единый комплекс. Обычно исходные тексты самого простого приложения содержат не один, а, по меньшей мере, три файла:

  1. файл .cpp с текстом программы;

  2. файл ресурсов .rc, в котором описываются конфигурации меню, и диалоговых окон, курсоры, иконы приложения, битовые матрицы и т.д.;

  3. файл определения модуля .def с информацией о типе создаваемого модуля, некоторых его характеристиках.

Сам файл проекта имеет расширение .ide.

Для создания файла проекта выберем команду File ->New-> Project. Откроется панель New Target (новая мишень). В верхних окошках Project Path и Name этой панели задается имя файла проекта. В первом окне пропишется каталог, который выше был задан.

В рамке Platform необходимо установить Win32 (32-битовое приложение), в рамке Target Model устанавливается GUI, в рамке Target Type установится тип мишени – выполняемый файл приложения Application [exe].

Если не требуются специальные условия выполнения исполняемого файла, файл определения модуля можно не создавать, а воспользоваться стандартным файлом default.def, который есть в системе по умолчанию. Пример стандартного файла определения модуля представлен в приложении.

Чтобы не создавать этот файл в проекте, надо нажать кнопку Advanced и в открывшейся панели щелчком мыши снять флажок с кнопки выбора файлов .def.




Рис. 4. Создание файла проекта
После нажатия всех OK появится окно проекта:




Рис. 5. Окно проекта

Чтобы посмотреть содержание текстовых файлов (.cpp, .def), надо дважды щелкнуть на их имени мышью или выделить соответствующую строку и нажать Enter.

В окне проекта можно корректировать состав проекта ( добавление новых файлов и удаление существующих) и изменять характеристики проекта (опять открыть Target Expert- щелкнуть дважды правой кнопкой мыши по строке с .exe файлом).

Для запуска процесса компиляции и компоновки можно воспользоваться пунктом меню Project->Build all ( построение проекта) или нажать кнопку Build Project из строки кнопок, находящихся в подменю.

После окончания обработки, откроется окно построителя задачи, в котором сообщается об отсутствии или наличии ошибок и предупреждений.

Если ошибки и предупреждения были, список их представляется в окне сообщений Message.

Запустить приложение можно, используя пункты меню, а можно щелкнуть по кнопке Run.

Создание файла сценария ресурсов

Ресурсы представляют собой двоичные данные, хранящиеся внутри exe–файла программы. Команды меню, например, организованы как ресурсы, которые программа загружает во время исполнения.

Ресурсы экономят время, сокращая объем подготовительных операций, выполняемый программой, и экономят память, так как двоичные ресурсы остаются на диске до тех пор, пока они не потребуются.

Файл сценария ресурсов представляет собой обыкновенный текстовой файл, содержащий операторы исходного кода ресурсов приложения, т.е. он может быть составлен в текстовом редакторе с использованием команд сценария ресурсов. Команды сценария ресурсов полностью документируются оперативной подсказкой среды. В приложении представлен пример сценария для простого меню.

Однако в состав среды входит интерактивный визуальный редактор ресурсов RW (Resource Workshop), который позволяет визуально создавать ресурсы пользователю. Законченный сценарий затем можно просматривать и редактировать в текстовом виде.

Чтобы войти в RW (файл .rc) надо дважды щелкнуть на его имени мышью или выделить соответствующую строку и нажать Enter. Затем воспользоваться пунктом меню Resource -> New. В появившемся диалоговом окне выбрать необходимый тип ресурсов и нажать кнопку ОК.
Р
ис. 6. Выбор типа ресурса
После создания или изменения в визуальном редакторе требуемого ресурса, необходимо сохранить файл сценария ресурсов.
Заголовочные файлы

Помимо описанных выше файлов в проект могут входить заголовочные файлы -.h и заголовочные файлы ресурса -.rh, подключаемые в исходный текст (-.cpp) с помощью директивы #include. Сами файлы добавляются непосредственно в проект. Необходимости в этих файлах, особенно в -.h, нет, так как все их содержимое может быть размещено в исходном файле, однако их использование уменьшает объем исходного файла и облегчает работу с ним. В заголовочные файлы -.h обычно выносят прототипы прикладных функций, используемых в программе, определения констант, разработанные макросы и так далее.

Заголовочные файлы ресурса -.rh включают в себя идентификаторы ресурсов, определяемые директивой #define. В случае отсутствия заголовочного файла идентификаторы определяются непосредственно в файле ресурса и, следовательно, сам файл ресурса должен быть подключен в исходный текст приложения с помощью директивы #include, что полностью лишает приложение преимуществ, связанных с выделением ресурсов в отдельный файл.

В приложении представлен пример заголовочного файла ресурса.
5.3.Основы программирования для Windows c помощью функций API;
API - это программный интерфейс приложения. Другими словами, это те возможности, которые предоставляет операционная система Windows для использования прикладными программами. Системные функции, которые предоставляет Windows программисту, называются ещё функциями API. Программирование с использованием только этих функций называется API-программированием.

Структура API-программ

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

Классическая структура API-программы определяется четырьмя компонентами: инициализация; цикл ожидания или цикл обработки сообщений; функция главного окна; другие функции. В простейшем случае последний компонент может отсутствовать. Два первых компонента располагаются в функции WinMain.

Функция WinMain

int WINAPI WinMain

(

HISTANCE hInstance,

HINSTANCE hPrevInctance,

LPSTR lpCmdLine,

int nCmdShow

)

Функция WinMain вызывается системой, в которую передаются четыре параметра:

  1. hInstance - дискриптор текушего экземпляра приложения;

  2. hPrevInctance - всегда равен NULL;

  3. lpCmdLine - указатель на командную строку запускаемой программы;

  4. nCmdShow - способ визуализации окна.

Инициализация

Если кратко, то здесь производится регистрация класса окон, его создание и вывод на экран. Регистрация классов окон осуществляется функцией:

ATOM RegisterClass(CONST WNDCLASS *lpwcx)

Единственный параметр функции указатель на структуру WNDCLASS. После того, как класс будет зарегестрирован, окно из данного класса может быть создано функцией CreateWindow. Разберём теперь структуру WNDCLASS:

typedef struct _WNDCLASS

{

UNIT style;

WNDPROC lpfnWndProc;

int cbClsExtra;

int cbWndExtra;

HANDLE hInstance;

HICON hIcon;

HCURSOR hCursor;

HBRUSH hbrBackground;

LPCTSTR lpszMenuName;

LPCTSTR lpszClassName;

} WNDClASS

Перечислим некоторые типичные значения членов структуры.

Стили класса окон. Стиль окна определяется комбинацией нескольких предопределённых констант. Довольно часто он полагается нулю, что означает "стиль по умолчанию".

  • Дескриптор иконки окна. Определяется с помощью функции LoadIcon. Первым параметром данной функции является дискриптор приложения, вторым - строка, определяющая имя иконки в ресурсах. Для того чтобы задать одну из стандартных иконок, первый параметр должен иметь значение NULL, а второй - значение одной из следующих констант: IDI_APLICATION - стандартная иконка приложения; IDI_ASTERISK - иконка "информация"; IDI_EXCLAMATION - "восклицательный знак"; IDI_HAND - "знак Стоп"; IDI_QUESTION - "вопросительный знак".

  • Дескриптор курсора. Для определения курсора используется API-функция LoadCursor. Функция похожа на функцию LoadIcon.

  • Имя класса. Название класса - это просто строка, которая потом используется при создании окна.

Окно создаётся функцией CreteWindow. Вот прототип этой функции:

HWND CreateWindow

(

LPCTSTR lpClassName, //указывает на имя зарегестрированного окна

LPCTSTR lpWindowName, //название окна

DWORD dwStyle, //стиль окна

int x, //горизонтальная координата

int y, //вертикальная координата

int nWidth, //ширина окна

int nHeight, //высота окна

HWND hWndParent, //дискриптор родителя или владельца окна

HMENU hMenu, //дискриптор меню окна

HANDLE hINSTANCE, //дискриптор приложения

LPVOID lpParam //указатель на дополнительную информацию

)

Функция возвращает дескриптор созданного окна, при ошибке - 0.
Для того чтобы корректно отобразить окно на экране, следует выполнить ещё две функции.

BOOL ShowWindow(HWND hWnd, int nCmdShow) - эта функция отображает окно на экране. Первый параметр - дескриптор окна, второй - режим отображения. В качестве этого параметра обычно используют параметр nWinMode функции WinMain. Можно также использовать предопределённые константы:

  • SW_HIDE - скрыть окно;

  • SW_MAXIMIZE - максимизировать окно;

  • SW_MINIMIZE - минимизировать окно и активировать самое верхнее окно;

  • SW_RESTORE - отобразить окно в нормальном состоянии;

  • SW_SHOW - активизировать окно с текущими разменами;

  • SW_SHOWMAXIMIZED - максимизировать окно и сделать его активным;

  • SW_SHOWMINIMIZED - минимизировать окно;

  • SW_SHOWNA - отобразить окно в его текущем состоянии. При этом активированное окно оставить активным;

  • SW_SHOWNOACTIVATE - восстанавливает окно в его предыдушем состоянии. При этом активное окно остаётся активным.

  • SW_SHOWNORMAL - активизировать и восстановить окно в прежних размерах.

BOOL UpdateWindow(HWND hWnd) - вызов данной функции приводит к немедленной перерисовке окна и посылке функции окна сообщения WM_PAINT.

Цикл обработки сообщений

Цикл обработки сообщений присутствует во всех приложениях Windows. Правда, не всегда этот цикл представлен явно в программе.

while (GetMessage(&msg, NULL, 0, 0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

В цикле сообщения присутствуют три функции. Эти функции есть там всегда, но кроме них в цикле могут быть и другие. Функция GetMessage выбирает из очереди сообщений приложения очередное приложение. Вместо этой функции используют так же функции PostMessage и PeekMessage.
Во всех трех функциях присутствует указатель на строку MSG. Разберём её:

typedef struct tagMSG

{

HWND hwnd;

UINT message;

WPARAM wParam;

LPARAM lParam;

DWORD time;

POINT pt;

}MSG;

  • hwnd - дискриптор окна;

  • message - код сообщения;

  • wParam - дополнительный параметр;

  • lParam - дополнительный параметр;

  • time - время посылки сообщения;

  • pt - положение курсора мыши.

Прототип функции MessageBox

BOOL GetMessageBox

(

LPMSG lpMsg;

HWND hWnd;

UINT wMsgFilterMin,

UINT wMsgFilterMax

)

Первый параметр функции - указатель на строку MSG, куда и будет помещена получаемая информация. Вторым параметром является дескриптор окна, которому предназначено сообщение. Если параметр равен NULL, то "отталкиваются" все сообщения, получаемые приложением. Два последних параметра определяют диапазон сообщений. Для того чтобы получать сообщения из всего диапазона, эти параметры должны быть равны 0.

Функция TransleteMessage преобразует сообщения WM_KEYDOWN и WM_KEYUP в WM_CHAR. Функция DispatchMessage просто переправляет сообщение оконной процедуре.

Оконная функция

Это еще один компонент, отвечающий за обработку сообщений окна. Эта функция вызывается системой и имеет четыре параметра, совпадающих с первыми четырьмя членами структуры MSG. Искусство API-программирования заключается в основном в написании оконных функций. Вот пример оконной функции:

LRESULT CALLBACK WndProc(HWND hWnd, UINT message,

WPARAM wParam, LPARAM lParam)

{

}

5.4. Основы программирования для Windows c помощью библиотеки объектов OWL

Программирование на основе библиотеки классов С++ позволяет достаточно хорошо моделировать архитектуру ОС Windows 9х, систему хотя и не являющуюся формально объектно-ориентированной, но основанной на объектно-ориентированной идеологии.

Эти библиотеки представляют собой составленные, готовые описания всех объектов, с которыми приходится иметь дело при разработке приложения: окон, кнопок, линеек прокрутки, инструментальных панелей, окон диалога и т.д.

Классы каждого из этих объектов включают все необходимые для работы с объектом данные и функции. Класс автоматически берет на себя выполнение некоторых внутренних требований, которое при использовании только С необходимо было обеспечить в явном виде.

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

Библиотека классов:

  • классы модулей и приложений - класс TModule служит основой для класса Tapplication, который инкапсулирует глобальные функции приложения, такие, как процессы запуска, организации цикла сообщений, обработку ошибок;

  • окна - класс TWindow обеспечивает базовый интерфейс оконных элементов, таких как диалоговые панели, органы управления, дочерние окна и т.д.;

  • обрамляющие окна - класс TframeWindow, производный от TWindow, используется для конструирования объекта главного окна. Окно TFrameWindow может владеть окном-клиентом, которое может использоваться для визуальных изменений окна;

  • окна MDI - три класса (TMDIFrame, TMDIClient, TMDIChild) используются для конструирования сложных документов. Дочерние окна MDI – объекты класса TMDIChild;

  • графические классы - весь интерфейс графических устройств Windows (GDI) представлен в классах графического контекста: TPaintDC, TprintDC и т.д. Чтобы что-то нарисовать в окне или напечатать графику, необходимо создать объект контекста устройств и вызвать соответствующую компонентную функцию;

  • классы объектов GDI - для всех объектов, таких как перья, кисти, цветовые палитры, шрифты и т.д. имеются ассоциированные с ними классы (TPen, TBrush, …);

  • классы декорированных окон - эти классы упрощают программирование инструментальных линеек, строк состояния и других декораций окна;

  • классы диалогов - эти классы обеспечивают объектный интерфейс для всех диалогов Windows;

  • управляющие классы - классы конструируют управляющие объекты, которые упрощают коммуникацию с управляющими элементами окон;

  • классы печати - классы производят одностраничную и много страничную печать;

  • и т.д.

Буква Т в имени класса означает Type. Как и в случае любой другой программной библиотеки, все объявления OWL хранятся в заголовочных файлах. Большинство имен заголовков напоминают имена объявляемых ими классов, например – класс Twindow в заголовочном файле window.h. Файл owlall.h - особый среди заголовков. Он делает доступным любой из классов, но, безусловно, требует много времени для компиляции. Подключение заголовочных файлов осуществляется с помощью директивы #include.
1   2   3   4

Похожие:

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические указания по выполнению курсовой работы по дисциплине аудит
При разработке методических указаний по выполнению курсовой работы в основу положены

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconК выполнению курсовой работы по дисциплине «технология и организация...
В 75 Пособие к выполнению курсовой работы по дисциплине «Технология и организация перевозок». – М.: Мгту га, 2001. 28 с

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодическое пособие по выполнению курсовой работы
Безопасность систем под давлением: метод пособие к курс работе / А. П. Овчинников. – Самара: Самар гос техн ун-т, 2012. – 77 с.:...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические указания по выполнению курсовой работы Самара, 2012
Технические средства охраны: метод указания по выполнению курсовой работы / Сост. В. Н. Ворожейкин; Самар гос техн ун-т. Самара,...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические рекомендации по выполнению курсовой работы по дисциплине...
Уважаемые студенты, после выбора темы курсовой работы, Вам необходимо позвонить в учебную часть для ее утверждения

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconРуководство по выполнению курсовой работы по дисциплине «Гражданское право (часть общая)»
Руководство по выполнению курсовой работы по дисциплине «Гражданское право (часть общая)» составлена в соответствии с требованиями...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconИсследовательская работа «Программное обеспечение операционные системы эв и вм»
Операционная система – это программа, которая запускается сразу. Среди всех системных программ, с которыми приходится иметь дело...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические рекомендации по выполнению курсовой работы студентов,...
Оп «Бизнес-информатика», «Электронный бизнес», «Управление информационной безопасностью», «Системы больших данных»

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические указания к выполнению курсовой и дипломной работ по...
Методические указания составлены применительно к выполнению курсовой работы по дисциплине: Экономика и организация производства на...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconРабочая программа учебной дисциплины оп. 07 Операционные системы и среды специальность
Содержание учебной дисциплины «Операционные системы и среды» направлено на формирование профессиональных и общих компетенций

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconЛутин Э. А. Л86 Радиолокационные системы вс: Пособие к изучению дисциплины,...
Л86 Радиолокационные системы вс: Пособие к изучению дисциплины, контрольные задания и задания на курсовой проект.– М.: Мгту га, 2002....

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические указания по выполнению курсовой работы по дисциплине «Экономика отрасли»
...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические указания к выполнению курсовой работы
При разработке учебно- методического комплекса учебной дисциплины в основу положены

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические указания по выполнению междисциплинарной курсовой работы...
Методические указания по выполнению междисциплинарной курсовой работы студентами образовательной программы «Информатика и вычислительная...

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические рекомендации по выполнению курсовых работ Цель курсовой работы
Пм 01. Обеспечение реализации прав граждан в сфере пенсионного обеспечения и социальной защиты

Черкасова Н. И. Ч48 Операционные системы: Пособие по выполнению курсовой работы iconМетодические рекомендации по оформлению и выполнению курсовой работы для студентов Аргаяш, 2016
Государственное бюджетное профессиональное образовательное учреждение «Аргаяшский аграрный техникум»


Руководство, инструкция по применению






При копировании материала укажите ссылку © 2018
контакты
rykovodstvo.ru
Поиск