
- •Методичні вказівки до практичних робіт
- •Практическая работа №1
- •Хід роботи:
- •Пример выполнения 2
- •Практична робота № 2
- •Хід роботи
- •Контрольні запитання
- •Практична робота № 3
- •Завдання
- •Хід роботи:
- •Створення малюнка і реакції на клавішу миші
- •Практическая работа № 4
- •Контрольні запитання
- •Практична робота № 5
- •Хід роботи:
- •2. Створення ComboBox
- •2. Завдання реакції на вибір в ComboBox
- •2. Операції з елементами
- •2. Ініціалізація списку при виборі пункту меню
- •Практична робота № 6
- •Хід роботи:
- •Практична робота № 7 Тема: Розробка додатка управління базою даних
- •Варіанти завдання:
- •Хід роботи:
- •1. Створення додатка, що відображає дані з бд
- •2. Забезпечення видалення, редагування, додавання записів в бд
- •Забезпечення сортування та фільтрації записів з бд.
- •4.Стандарт odbc і dao
- •Генерация приложения, связанного с базой данных
- •Панель инструментов
Хід роботи
Створити заготівлю діалогового додатка з використанням майстра AppWizard
Створити новий клас (см. рис. 2.1)
Рис. 2.1 – Створення нового класу
У вікні New Class (див. рис. 2.2) в полі Base class: вибрати базовий клас Cbutton (клас батько)
Рис. 2.2 – Створення нового класу
Далі перейдемо на вкладку Resource View, щоб відкрити форму для створення інтерфейсу нашої програми, як показано на рис. 2.3.
Рис. 2.3 - Відкриття форми для створення інтерфейсу програми
Тепер необхідно оголосити змінні для обчислення значень функцій. Для цього відкриємо вікно Add Member Variable, як показано на рис. 2.4.
Рис. 2.4 - Оголошення змінної а
Аналогічно додаємо змінні b і c і х.
Тепер необхідно оголосити функцію для обчислення значення функції. Для цього відкриємо вікно Add Member Function
Рис. 2.5 - Оголошення функції
Зайти в New Class і додати наступний код:
float new_class::summ_of_a_b()
{
float x;
x = this->a + this->b+ this->с;
return x;
}
Перенесемо конструктор і деструктор в розділ public файлу new_class.h (див. на рис. 2.6).
///////////////////////////////////////
public:
new_class();
float summ_of_a_b();
float c;
float b;
float a;
virtual ~new_class();
Рис. 2.6 - Перенесення конструктора і деструктора в розділ public
І записуємо значення змінних в конструкторі в файл new_class. cpp, як показано на рис. 2.7. У першому випадку представимо змінні а, b, с як константи, які приймають значення а = 1, b = 2, c = 3.
Рис. 2.7 - Опис значень змінних а, b, с
///////////////
new_class::new_class()
{
a=1;
b=2;
c=3;
}
Винести на форму необхідні елементи для представлення інтерфейсу як показано на рис. 2.8.
Рис. 2.8 - Можливий вид форми
Перейти на вкладку Resourse View, там вибрати пункт IDD_ (ім'я вашого проекту) _DIALOG і прописати їх властивості правою кнопкою миші вкладка Properties (Властивості) - відкриється діалогове вікно Edit Properties (див. рис. 2.9). Ця дія необхідно виконати, щоб зв'язати нашу змінну А з елементом Edit на формі.
Аналогічним чином повторюємо описану операцію і для інших змінних, в нашому випадку для змінних b, с, х.
Рис. 2.9 - Зв'язування змінної А з елементом на Edit на формі
Рис. 2.9 - Зв'язування змінної А з елементом на Edit на формі
На наступному кроці ми оголошуємо змінні програмно, для цього необхідно вибрати з головного меню View пункт View Class Wizard, потім перейти на вкладку Member Variables, як показано на рис. 2.10 і 2.11.
Рис. 2.10 - Вибір меню View пункт View Class Wizard
Рис. 2.11 - Діалогове вікно MFC Class Wizard
Створюємо змінну А. У діалоговому вікні оголошення змінної задаємо ім'я цієї змінної і її тип (див. рис. 2.12).
Рис. 2.12 - Створення змінної А
Аналогічним чином створюємо і інші змінні.
В результаті отримаємо форму, яка має наступний вигляд:
Рис. 2.13 - Можливий вид форми
Тепер нам необхідно створити обробники подій для наших елементів форми. Для цього необхідно двічі клацнути по елементу edit A і додати програмний код, як показано на рис. 2.14 (програмний код дивіться нижче).
Рис. 2.14 - Створення обробника події
Додайте код
void CPr_rab_2Dlg::OnChangeEditA()
{
UpdateData(TRUE);
}
А в кнопку Button дв. Клик и записать
void CPr_rab_2Dlg::OnButton1()
{
UpdateData(FALSE);
}
Щоб наша програма запрацювала ще необхідно додати бібліотеку для створеного нами класу в вгорі програми (див. рис. 2.15).
#include "new_class.h"
Рис. 2.15 – Создание обработчика события
Конструктор при створенні об'єкта привласнює деякі значення змінним a, b, c і ми можемо вивести ці значення на екран. Для етого необхідно додати код до обробникові кнопки виведення результату, для цього відкриємо вікно редагування коду подвійним клацанням по кнопці button1 і створимо об'єкт класу new_class.
new_class object_1;
Ми створили об'єкт object_1 класу new_class.
Далі ми будемо використовувати змінні члени класу для виведення соответстствіі значень на екран.
m_A=object_1.a;
m_B=object_1.b;
m_C=object_1.c;
де
object_1.a – змінна член класу.
Після натискання на кнопку бачимо такий результат (див. рис. 2.16).
Рис. 2.16 - Проміжний і кінцевий результат роботи програми
Далі спробуємо викликати метод класу, тобто функції члени класу.
m_X=object_1.summ_of_a_b();
Для цього дабавте в нашу кнопку цей код. І ось результат (див. рис 2.16 праворуч).
Далі нам варто спробувати вводити пременни для роботи функції самостійно а не з заздалегідь введеними значеннями, для цього можна зробити цю функцію функцією з параметрами, або створити конструктор з параметрами, який буде створювати об'єкт класу з необхідними нам параметрами, далі ми розглянемо другий спосіб.
Нам необхідно створити новий конструктор переходимо на вкладку class view і в описі класу додаємо новий конструктор, його ім'я має бути як у старого але він повинен мати параметри як показано на малюнку 2.17.
new_class(float d, float e, float f);
Рис. 2.17 - Створення нового конструктора з параметрами
Далі переходимо до опису конструктора
new_class::new_class(float d, float e, float f)
{
a=d;
b=e;
c=f;
}
Рис. 2.18 - Опис конструктора з параметрами
Тепер при створенні об'єкта класу ми можемо задавати спомощью конструктора свої параметри. У другому способі можете створити 2-гу кнопку Button і в неї додати код. Тепер наш код буде виглядати так (див. ріс.2.19):
new_class object_1(m_A,m_B,m_C);
m_X=object_1.summ_of_a_b();
UpdateData(FALSE);
Рис. 2.19 - Опис конструктора з параметрами
Тепер спробуємо додати в клас більш складні функції члени.
Це ми вже робили вгорі як summ_of_a_b тільки тепер все необхідно виконати у відповідності зі своїм індивідуальним завданням.