Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPZ_13V_Мое.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
633.86 Кб
Скачать

1 Аналіз індивідуального завдання

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

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

2 Загальна структура програми

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

Мінімальна MFC-програма містить два класи, які визначаються користувачем. Перший клас С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-програма буде практично завжди містити хоча б один клас, похідний від бібліотечного віконного класу[1].

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

Create(NULL,"Курсова робота",

WS_OVERLAPPEDWINDOW,rectDefault,NULL,

MAKEINTRESOURCE(IDR_MAINFRAME));

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

BEGIN_MESSAGE_MAP(CMyFrameWin, CFrameWnd)

END_MESSAGE_MAP();

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

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