Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KP_SPZ_v11-2015.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
732 Кб
Скачать
☆
  1. Аналіз індивідуального завдання

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

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

Введення самих даних повинно відбуватись у діалоговому вікні, при чому a та x вводяться у поля ComboBox. При натисненні кнопки Calc має відбутись обмін даними с динамічною бібліотекою та обрахунок обчислення. Результат виводиться у діалогове вікно. На той випадок, коли ніяке значення введено не було, повинно бути виведено стандартний результат. Стандартна операція Rename повинна перейменовувати вказаний файл, Open – відкривати текстовий файл у новому вікні, а Save зберігати результат обчислень в текстовий файл, About – відкривати текстовий файл у новому вікні, в якому відображається інформація про розробника.

  1. Загальна структура проекту

Курсова робота складається з двох проектів: головний проект програми та проект динамічної бібліотеки. Проект динамічної бібліотеки складається з безпосередньо самого файлу з текстом програми – KP_SPZ_v11-2015_asm.cpp, файлів проекту, що автоматично створюються середовищем та файлу KP_SPZ_v11-2015_asm.def в якому вказується ім'я бібліотеки що створюється, та ім'я функції що експортується, яка прописується відповідно синтаксису calc @1.

Головний проект використовується для створення *.exe файлу програми, яка використовує створену DLL бібліотеку. Цей проект включає файл з текстом самої програми – TOOLBAR6.CPP, файли проекту, що автоматично створюються середовищем, заголовочний файл resource.h, файл ресурсів TOOLBAR6.rc, а також файл типу *.bmp, який містить рисунок панелі інструментів. Загальна структура проекту в Visual Studio 2008 зображено на рисунку 1.

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

Основна програма містить два класи, які визначаються користувачем. Перший клас СMyApp, призначений для створення глобального об’єкта класу прикладних програм. Базовий клас CWinApp має всього два методи: конструктор і функцію ініціалізації InitInstance().

З самого початку слід підключити до програми бібліотеку MFC:

#include <afxwin.h>;

Далі створюється клас додатку:

class CMyApp:public CWinApp

{

public:

virtual BOOL InitInstance();

};

Потім йде ініціалізація додатку:

BOOL CMyApp::InitInstance()

{

…

};

При чому в цій MFC-функції процес починається зі створення об’єкту фрейму вікна:

CMyFrameWin *pMainWnd=new CMyFrameWin;

Далі дане вікно встановлюється головним вікном даної програми:

m_pMainWnd=pMainWnd;

Після чого показуємо його на екран, це робиться за допомогою функції:

m_pMainWnd->ShowWindow(m_nCmdShow);

Далі потрібно викликати функцію, що буде посилати вікну повідомлення про необхідність його оновлення:

m_pMainWnd->UpdateWindow();

Потім слід створити об’єкт нашого додатку:

CMyApp app;

Після створення цього додатку програма починає виконуватись.

В якості префікса, який позначає ім’я класу, використовується прописна буква С від слова class, за нею йде ім’я класу.

Для членів класу прийнятий такий спосіб утворення імен: обов’язковий префікс m_ (від слів class member), потім йде префікс, який характеризує тип даних, а потім власне ім’я змінної, наприклад m_pMainWnd, де р – префікс вказівника. Для найменування змінних, які не є членами класу, префікс m_ не використовується.

Кожна MFC-програма буде практично завжди містити хоча б один клас, похідний від бібліотечного віконного класу [2].

Саме вікно створюється в конструкторі класу CMyFrameWin за допомогою функції Create(), що містить початкові параметри вікна:

Create(NULL,"Курсова робота, ст. гр. 3К-14 Семенюк М.В. ",

WS_OVERLAPPEDWINDOW,rectDefault,NULL,

MAKEINTRESOURCE(IDR_MAINFRAME));

В програмі також вказані наступні стрічки:

BEGIN_MESSAGE_MAP(CMyFrameWin, CFrameWnd)

…

END_MESSAGE_MAP();

Ці стрічки створюють чергу повідомлень головного вікна, визначають таблицю відкликів головного вікна додатку на повідомлення.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]