Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 18:08, курсовая работа
Создать приложение, используя библиотеку объектов OWL, позволяющее:
выводить тригонометрические функции (синус, косинус, тангенс) в рабочее поле приложения
выбирать требуемый график из меню приложения
задавать необходимый масштаб
запрашивать информации о программе
стирать выбранные функции
использовать горячие клавиши для построения графиков, для выхода из программы и для вывода информационного табло
1.Техническое задание. 3
2. Краткие теоретические сведения 3
2.1. Структура OWL-программы 3
2.2. Вызов функций в Windows 4
2.3. Программирование на С++ 4
2.4. Общие положения программирования в среде Windows 4
2.5. Win16 и Win32 5
2.6. Графический интерфейс устройства 5
2.7. Цикл сообщений 5
2.8. Особенности Borland C++ 6
2.9. Функция Run() 7
3. Файлы, используемые при создании проекта. 8
4. Стандартные классы OWL. 8
4.1. Взаимодействие классов. 8
5. Стандартные функции классов OWL. 8
6. Пользовательские функции 8
7. Иерархия классов приложения. 9
8. Системные требования. 9
9. Размер файла. 9
10. Руководство пользователя. 10
11. Список использованной литературы: 14
12. Листинг программ. 15
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ГРАЖДАНСКОЙ АВИАЦИИ»
Кафедра вычислительных машин, комплексов, систем и сетей
Н.И. Черкасова
ОПЕРАЦИОННЫЕ СИСТЕМЫ
КУРСОВАЯ РАБОТА
Выполнила:
студентка группы БИ 3-2
Москва – 2012
Оглавление:
1.Техническое задание. 3
2. Краткие теоретические сведения 3
2.1. Структура OWL-программы 3
2.2. Вызов функций в Windows 4
2.3. Программирование на С++ 4
2.4. Общие положения программирования в среде Windows 4
2.5. Win16 и Win32 5
2.6. Графический интерфейс устройства 5
2.7. Цикл сообщений 5
2.8. Особенности Borland C++ 6
2.9. Функция Run() 7
3. Файлы, используемые при создании проекта. 8
4. Стандартные классы OWL. 8
4.1. Взаимодействие классов. 8
5. Стандартные функции классов OWL. 8
6. Пользовательские функции 8
7. Иерархия классов приложения. 9
8. Системные требования. 9
9. Размер файла. 9
10. Руководство пользователя. 10
11. Список использованной литературы: 14
12. Листинг программ. 15
Создать приложение, используя библиотеку объектов OWL, позволяющее:
OWL-программа, как правило, состоит из 3-х выделенных частей:
- описания класса приложения и входящих в него функций
- описание класса главного окна приложения и входящих в него функций
- описание главной функции OwlMain(), эта функция берет управление при запуске приложения, заменяет функцию WinMain() в «классических» приложениях Windows и main() в приложениях DOS.
Библиотека OWL, как и любая
другая объектно-ориентированная
Класс приложений TApplication, производный от класса TModule предназначен для создания приложения (экземпляра класса). Функции этого класса организуют создание главного окна и обрабатывают сообщения.
Базовый класс TModule определяет фундаментальные свойства модулей - приложений (организует загрузку и выгрузку динамических библиотек, организует загрузку ресурсов и имеет ряд информационных функций о свойствах модуля в целом).
Для задания характеристик и свойств окна приложения нужно вмешиваться в работу функции Run - компонентной функции класса TApplication. Надо будет создать производный класс приложения от класса TApplication. Основной задачей функции является последовательный вызов других функций, принадлежащих классу TApplication и классу TWindow.
На этом этапе можно изменить расположение, размеры и стиль окна.
InitApplication() - функция вызывается только при первом вызове приложения. Ее можно использовать для вывода каких либо предупреждающих сообщений. В базовом классе - это заглушка InitMainWindow()- функция, предназначена для организации главного окна приложения с помощью функции SetMainWindow(), кроме указателя на главное фреймовое окно, вторым параметром может быть указатель на рабочее окно(client), которое появляется внутри главного.
Всю работу по инициализации приложения, созданию и выводу на экран главного окна и организации цикла обработки сообщений выполняет открытая функция-член Run(), входящая в класс TApplication. Поэтому в простых случаях главная функция приложения OwlMain() может состоять всего из двух строк: создания экземпляра класса TApplication или производного от него и вызова функции Run() для этого экземпляра. Именно так выглядит функций OwlMain() в рассматриваемом примере. С другой стороны, для задания характеристик и свойств окна приложения приходится вмешиваться в работу этой функции, изменяя используемый по умолчанию алгоритм ее выполнения, что требует понимания этого алгоритма и возможностей его изменения. Рассмотрим процедуру выполнения функции Run() более детально.
Доступ к системным
ресурсам осуществляется через ряд
системных функций. Совокупность таких
функций называется прикладным программным
интерфейсом, или API (Application Programming Interfase).
Для взаимодействия с Windows приложение
запрашивает функции API, с помощью
которых реализуются все
На С++ можно создавать приложения как для MS DOS, так и для Windows. Главное отличие языка С от С++ состоит в том, что С - процедурный, а С++ - объектно-ориентированный. Процедурное программирование - последовательный вызов команд-процедур обработки данных, а объектно-ориентированное программирование (ООП) - взаимодействие объектов.
Для Windows можно разрабатывать 16-ти и 32-разрядные приложения (программы). Можно разрабатывать как MS DOS, так и Windows-приложения. Приложение пишется на языке высокого уровня (С, С++, Pascal, Fortran и т.п.), после этого программа компилируется компилятором (компиляция - получение исполняемого файла с расширением exe или com). В настоящее время хорошим компилятором является компилятор фирмы Borland версии 5.02.
В последнее время широко стало применяться визуальное программирование: Microsoft Visual C++ версии 6.00 и Borland C++ Builder.
По крайней мере два первых имеют дружественную IDE (интегрированная среда разработки). Проще говоря - это обычное окно Windows, в котором можно программировать. Оно содержит очень много полезных встроенных утилит, которые значительно ускоряют и упрощают программирование.
При запуске приложения Windows управление всегда передается программам Windows, которые загружают в память нашу программу и вызывают из нее главную функцию приложения. Такую функцию имеет любая программа, написанная для Windows. Вызывая эту функцию, Windows передает ей четыре параметра.
Первый параметр
(тип HINSTANCE, локальная переменная
hInstance) представляет собой дескриптор
данного экземпляра приложения.
Проще говоря - это идентификационный
номер нашего окна (которое мы
программируем). Этот дескриптор
назначается приложению при
Второй параметр
(тип HINSTANCE, локальная переменная
hPrevInstance) является дескриптором
Третий параметр
(тип LPSTR) представляет собой указатель
на командную строку, содержащую
параметры, которые были
Четвертый параметр (тип int, локальная переменная nCmdShow) характеризует режим запуска приложения (свернуто в иконку, имеет нормальный размер, развернуто на весь зкран).
В типичном
Windows-приложении главная
1. Зарегистрировать в системе Windows класс главного окна. Если помимо главного окна будут выводиться на экран внутренние, порожденные окна, то их классы тоже необходимо зарегистрировать. Windows выводит на экран и обслуживает только зарегистрированные окна.
2. Создать главное
окно и показать его на экране.
Порожденные окна тоже
3. Организовать
цикл обработки сообщений,
Как известно, для системы Windows можно разрабатывать как 16-, так и 32-разрядные программы. 32-разрядную операционную среду Windows, в которой выполняются 32-разрядные программы , называют Win32, а сами программы Win32-приложениями. Также, соответственно, для Win16.
16- и 32-разрядные приложения
не обязательно должны сильно
отличаться друг от друга.
Однако, Win32-приложения обладают целым рядом несомненных достоинств. Операционная среда позволяет работать с огромными массивами данных, создавать иерархические программные комплексы, организовывать параллельное выполнение многих процессов со взаимной передачей данных и синхронизацией. В технической документации корпорации Microsoft декламируется, что вновь разрабатываемые приложения должны быть только 32-разрядными.
Одним из подмножеств API является
GDI (Graphics Device Interfase - интерфейс графического
устройства). GDI - это та часть Windows, которая
обеспечивает поддержку аппаратно-
Все Windows-программы должны содержать специальную функцию, которая не используется в самой программе, но вызывается самой операционной системой. Эту функцию обычно называют функцией окна, или процедурой окна. Она вызывается Windows, когда системе необходимо передать сообщение в программу. Именно через нее осуществляется взаимодействие между программой и системой. Функция окна передает сообщение в своих аргументах. Согласно терминологии Windows, функции, вызываемые системой, называются функциями обратного вызова. Таким образом, функция окна является функцией обратного вызова.
Помимо принятия сообщения от Windows, функция окна должна вызывать выполнение действия, указанного в сообщении. Конечно, программа не обязана отвечать на все сообщения, посылаемые Windows. Поскольку их могут быть сотни, то большинство сообщений обычно обрабатывается самой системой, а программе достаточно поручить Windows выполнить действия, предусмотренные по умолчанию.
В большинстве Windows-программ задача создания функции окна лежит на программисте. При использовании библиотеки OWL такая функция создается автоматически. В этом заключается одно из преимуществ библиотеки. Но в любом случае, если сообщение получено, то программа должна выполнить некоторое действие. Хотя она может вызывать для этого одну или несколько API-функций, само действие было инициировано Windows. Поэтому именно способ взаимодействия с операционной системой через сообщения диктует общий принцип построения всех программ для Windows, написанных как с использованием MFC, так и без нее.
Как объяснялось выше, Windows взаимодействует с программой, посылая ей сообщения. Все приложения Windows должны организовать так называемый цикл сообщений (обычно внутри функции WinMain()). В этом цикле каждое необработанное сообщение должно быть извлечено из очереди сообщений данного приложения и передано назад в Windows, которая затем вызывает функцию окна программы с данным сообщением в качестве аргумента. В традиционных Windows-программах необходимо самостоятельно создавать и активизировать такой цикл. При использовании OWL это также выполняется автоматически. Однако важно помнить, что цикл сообщений все же существует. Он является неотъемлемой частью любого приложения Windows.
Процесс получения и обработки сообщений может показаться чересчур сложным, но тем не менее ему должны следовать все Windows-программы. К счастью, при использовании библиотеки OWL большинство частных деталей скрыты от программиста, хотя и продолжают неявно присутствовать в программе.
Класс окна
Как будет показано дальше, каждое окно в Windows-приложении характеризуется определенными атрибутами, называемыми классом окна. (Здесь понятие "класс" не идентично используемому в С++. Оно, скорее, означает стиль или тип.) В традиционной программе класс окна должен быть определен и зарегистрирован прежде, чем будет создано окно. При регистрации необходимо сообщить Windows, какой вид должно иметь окно и какую функцию оно выполняет. В то же время регистрация класса окна еще не означает создание самого окна. Для этого требуется выполнить дополнительные действия. При использовании библиотеки MFC создавать собственный класс окна нет необходимости. Вместо этого можно работать с одним из заранее определенных классов, описанных в библиотеке. В этом еще одно ее преимущество.