Смекни!
smekni.com

Розробка системних обєктно-орієнтованих програм мовою С в середовищі Windows (стр. 1 из 5)

Міністерство освіти і науки України

Вінницький національний технічний університет

Інститут інформаційних технологій та комп’ютерної інженерії

Кафедра ОТ

Розробка системних об’єктно-орієнтованих програм мовоюС++ в середовищі Windows

(з використанням бібліотеки MFC пакету Visual Studio 2008)

Пояснювальна запискадо курсової роботи з дисципліни

«Системне програмне забезпечення»

Керівник курсової роботи

ст. викл. Снігур А.В.

Розробив студент групи 2КС-06

Мандро О.М.

Вінниця ВНТУ 2008


АНОТАЦІЯ

Дана курсова робота розроблена за допомогою сучасної об’єктно-орієнтовної мови програмування С++ на Visual Studio 2008. В ній був розроблений проект, що використовує бібліотеки MFC. Він містить головне меню, рядок стану, панель інструментів і контекстне меню. Бібліотека, що динамічно підключається до головного проекту, знаходить рішення функції згідно індивідуального завдання. Дана бібліотека написана мовою програмування Assembler та під’єднана до головного проекту як динамічна бібліотека DLL. Дані для виконання обчислень вводяться в діалоговому вікні. Результати роботи програми виводяться в числовому та графічному вигляді в різних діалогових вікнах. Головна програма виконує операції з файлами: відкриття(відкриття текстового файлу), зберігання(зберігання результатів роботи програми) та закриття(закриває головну програму)[10].

ЗМІСТ

ВСТУП

1. АНАЛІЗ ІНДИВІДУАЛЬНОГО ЗАВДАННЯ

2.ЗАГАЛЬНА СТРУКТУРА КУРСОВОЇ РОБОТИ

3.РОЗРОБКА МЕНЮ ПРОГРАМИ

3.1 Головне меню програми

3.2 Таблиця акселератора

3.3 Контекстне меню програми

4.ПАНЕЛЬ ІНСТРУМЕНТІВ ТА РЯДОК СТАНУ

4.1 Створення панелі інструментів

4.2 Рядок стану

5.СТВОРЕННЯ ДІАЛОГОВИХ ВІКОН

5.1 Етапи розробки діалогових вікон

5.2 Створення діалогу

6. РЕАЛІЗАЦІЯ МАТЕМАТИЧНОЇ ФУНКЦІЇ МОВОЮ ASSEMBLER

7.СТВОРЕННЯ ТА ПІДКЛЮЧЕННЯ БІБЛІОТЕКИ DLL

8 РОБОТА З ФАЙЛАМИ

8.1 Відкриття файлу

8.2 Збереження файлу

9. ВИВЕДЕННЯ РЕЗУЛЬТАТІВ ОБЧИСЛЕНЬ

9.1 Числове виведення результату

9.2 Графічне виведення результату

10.КЕРІВНИЦТВО СИСТЕМНОГО ПРОГРАМІСТА

11.КЕРІВНИЦТВО ОПЕРАТОРА

ВИСНОВКИ

ЛІТЕРАТУРА

Додаток А

Додаток Б


ВСТУП

Сучасною прогресивною технологією програмування є об`єктно-орієнтоване програмування. До об`єктно-орієнтовних мов програмування відноситься Visual С++. В ньому елементи математичних моделей та компоненти інтерфейсу представляються окремими класами, що включають в себе дані, функції обробники, та механізми взаємозв`язку з бібліотеками.

Об’єктно-орієнтовні мови дозволяють використовувати бібліотеки класів, в яких містяться реалізовані раніше типи для опису стандартних об’єктів, які можуть бути потрібні програмісту при вирішенні певної задачі. Однією з таких бібліотек є MFC, яка містить набір класів для реалізації інтерфейсу вікон та елементів керування в середовищі Windows. Це звільняє програміста від рутинної роботи по переписуванню стандартних функцій. Але при цьому залишається можливість перевизначати деякі методи стандартних класів та додавати нові, для зміни та розширення їх можливостей.

Microsoft Visual Studio призначена для створення додатків – програм, забезпечених всім необхідним для їх роботи: файлами ресурсів, бібліотеками і т.д. У Visual C++ в основному розробляються додатки на основі Microsoft Foundation Class Library – MFC. В цій бібліотеці багато класів, глобальних функцій; вона призначена для спрощення роботи програмістів. Крім того, Visual C++ включає засіб для автоматизованого створення додатків – AppWizard.

Бібліотека MFC розроблялася для спрощення завдань, що стоять перед програмістом. Як відомо, традиційний метод програмування під Windows вимагає написання досить довгих і складних програм, що мають ряд специфічних особливостей. Бібліотека MFC дає змогу швидко та ефективно реалізувати графічний інтерфейс та обробляти потрібні функції та повідомлення[1,4].

Однією з основних переваг роботи з MFC є можливість багатократного використання одного і того ж коду, а також можливість успадкування методівбатьківського класу в класах нащадках.

Інтерфейс, що забезпечується цією бібліотекою, практично незалежний від конкретних деталей, що його реалізовують. Тому програми, написані на основі MFC, можуть бути легко адаптовані до нових версій Windows (на відміну від більшості програм, написаних звичайними методами).

Щоб працювати з бібліотекою MFC в середовищі розробки програм Microsoft Visual Studio C++ необхідно уміти створювати власні класи, розуміти принципи успадкування, створення об’єктів і вміти перевизначити віртуальні функції. Програми, що використовують бібліотеку MFC, звичайно не містять дуже специфічних елементів С++, для їх написання потрібні значні знання в області системного програмного забезпечення, для коректного функціонування програми[10].

1. АНАЛІЗ ІНДИВІДУАЛЬНОГО ЗАВДАННЯ

Дана програма повинна складатись з двох файлів: головного завантажувального файлу типу *.exe та файлу динамічної бібліотеки *.dll, що має знаходитись в тому ж самому каталозі, що й програма. Даний проект повинен видавати інформацію про розробника, забезпечувати введення в діалоговому режимі вхідних даних з клавіатури, виведення результату роботи програми в числовому та графічному вигляді у різних діалогових вікнах, виконувати стандартні операції з файлами: Open, Save, Exit. В файлі *.dll повинна міститись математична функція обчислення математичного виразу із індивідуального завдання, що написана мовою Assembler. Динамічна бібліотека повинна отримувати з основнї програми необхідні їй дані, проводити потрібні обчислення та передавати результат назад у програму типу *.exe.

Для того, щоб можна було керувати процесами, що виконуються проектом, всі необхідні операції мають бути відображені в головному меню, панелі інструментів. Введення самих даних повинно відбуватись у діалоговому вікні. По натисненню кнопки Run має відбутись обмін даними с динамічною бібліотекою та обчислення функції. Результат має виводитись у двох вікнах. В перше вікно повинен виводитись числовий результат, а в друге по натисненню кнопки Result – графічний. Стандартна операція з файлами Open повинна відкривати текстовий файл у окремому вікні. Якщо в цьому текстовому файлі містяться вхідні дані для розрахунків, то програма повинна оперувати з ними. Операція Save зберігає числовий результат у файлі. При натисненні ж на кнопку Exit програма повинна завершити своє виконання.

2. ЗАГАЛЬНА СТРУКТУРА ПРОЕКТУ

Курсова робота складається з двох проектів, що створені за допомогою пакету програм Microsoft Visual Studio 2008. Перший проект використовується для створення DLL бібліотеки. Він складається з безпосередньо самого файлу з текстом програми – MandroDLL.cpp, файлів проекту, що автоматично створюються середовищем та файлу MandroDLL.def в якому вказується ім'я бібліотеки що створюється, та ім'я функції що експортується, яка прописується відповідно синтаксису calc @1 з вказанням номеру функції (@1).

Другий проект використовується для створення *.exe файлу головної програми, яка використовує створену Dll бібліотеку. Цей проект включає файл з текстом самої програми – Mandro.CPP, файли проекту, що автоматично створюються середовищем, заголовочний файл Resource.h, файл ресурсів Mandro.rc, а також файли типу *.bmp та *.ico, що містять рисунок меню та значок програми відповідно. Загальна структура програми в Visual Studio 2008 зображено на рисунку 1[10].

Рисунок 1 – Загальна структура програми


В основній програмі використовується наступні класи:

1) CMyFrameWin,CTextWnd, CGraphdWnd, які є похідними від бібліотечного класу CFrameWnd і використовуються для створення основного вікна і вікна для виведення числового і графічного результату;

class CMyFrameWin:public CFrameWnd

class CTextWnd:public CFrameWnd

class CGraphWnd:public CFrameWnd

2) клас CMyDialog – похідний від класу CDialog і використовується для створення діалогового вікна і введення даних;

class CMyDialog:public CDialog

3) контекстне меню створюється за допомогою класу CMenu:

CMenu menu;

4)клас CStatusBar для об’єкта – рядка стану

CStatusBar m_wndStatusBar;

5) конструктори класу CFileDialog DlgOpen і DlgSave - для роботи з файлами, а саме для відкриття і збереження файлів.

6) клас CClientDC – клас контексту пристрою для забезпечення доступу до робочої області вікна.

CClientDC myDC(TextWnd);

7) клас CAboutDlg– похідний від класу CDialog і використовується для створення діалогового вікна з інформацією про розробника.

class CAboutDlg : public Cdialog


3. РОЗРОБКА МЕНЮ ПРОГРАМИ

3.1 Головне меню програми

В усіх програмах меню розташовується у верхній частині вікна під заголовком програми. Елементи меню призначені для виконання певних команд. Меню, яке розташоване під смугою заголовка вікна, називається головним меню додатку.

Процес створення меню складається із трьох етапів [4,8]:

- створення шаблона меню;

- підключення ресурсу меню до головної програми;

- обробка повідомлень від команд меню.

Створення шаблона меню відбувається добавленням нового ресурсу в пункті меню Edit - Add Resource. При добавленні нового меню воно добавляться в пункт Menu на вкладці Resource View – Mandro[10].

На рис. 2 зображено діалогове вікно Add Resource і вкладка Resource View – Mandro.

Рисунок 2 – Діалогове вікно Add Resource і вкладка Resource View – Mandro


Після добавлення нового меню, йому присвоюється ідентифікатор IDR_MAINFRAME і мова оформлення меню [Английский(США)], оскільки згідно з індивідуальним завданням пункти меню на англійській мові.

Акселератор (клавіша виклику) – повідомляє користувача, що замість виклику меню можна викликати команду за допомогою акселератора(«гаряча клавіша»).