на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Розробка системних об’єктно-орієнтованих програм мовою С++ в середовищі Windows

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

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

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

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

Кафедра ОТ

Розробка системних об'єктно-орієнтованих програм мовою С++ в середовищі 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 і мова оформлення меню [Английский(США)], оскільки згідно з індивідуальним завданням пункти меню на англійській мові.

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

На рис. 3 зображено створений шаблон меню згідно з завданням в індивідуальному завданні.

Рисунок 3 - Візуальний шаблон меню

Після візуального створення шаблону меню кожен його пункт отримує певні атрибути. Зовнішній вигляд вікна властивостей, що визначає атрибути, приведений на рис. 4.

Рисунок 4 - Атрибути меню в вікні властивостей

Підключення меню в програму базується на використанні методу Create() класу CFrameWnd, який створює головне вікно програми. В цьому методі можна вказати спеціальний макрос MAKEINTRESOURCE, аргументом якого буде ідентифікатор підключаємого ресурсу меню. В результаті отримаємо:

CMyFrameWin::CMyFrameWin()

Create(NULL,"Курсова 2KС-06", WS_OVERLAPPEDWINDOW, rectDefault, NULL, MAKEINTRESOURCE(IDR_MAINFRAME));

Ідентифікатори меню та всіх пунктів меню мають бути представлені в заголовочному файлі ресурсів Resource.h:

#define IDR_MAINFRAME 128

#define ID_ RENAME 40002

#define ID_RUN 40003

#define ID_RESULT 40021

Після запуску на виконання в верхній частині клієнтської області вікна можна буде побачити створене меню.

Тепер вже можна перейти до третього етапу створення меню. Обробку повідомлень від команд меню в головному програмному файлі проекту необхідно виконати в такій послідовності.

1) В класі вікна з рамкою CMyFrameWnd оголосити функції-обробники всіх пунктів меню;

2) Включити в карту повідомлень MESSAGE_MAP макроси, які зв'язують ідентифікатори кожного пункту меню з функцією-обробником;

3) Написати всі функції-обробники, які були вказані в класі вікна з рамкою CMyFrameWnd та карті повідомлень MESSAGE_MAP[1].

class CMyFrameWin:public CFrameWnd

public:

CMyFrameWin();

CMenu PopupMenu;

protected:

CStatusBar m_wndStatusBar;

CToolBar m_wndToolBar;

HICON m_hIcon;

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

afx_msg void OnOpen();

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.