МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
Навчальна практика з дисципліни «Програмування»
СТВОРЕННЯ ПРИКЛАДНИХ ПРОГРАМ
МЕТА ПРАКТИТИ
Розвинути навики використання Об’єктно-Орієетованого Програмування (ООП) при створенні програмних продуктів для операційної системи Windows та системного програмного забезпечення. Засвоїти навики використання типових об’єктно-орієнтованих бібліотек при розробці сучасного графічного інтерфейсу користувача. Познайомитись з бібліотекою класів MFC, навчитись створювати віконні програми, що будуються на основі діалогу, одно- та багатодокументної архітектури.
Завдання
Розробити програмне забезпечення з використанням типової об’єктно-орієнтованої бібліотеки MFC (Microsoft Foundation Classes). На основі цієї засобів бібліотеки, відповідно до індивідуального, необхідно розробити графічний інтерфейс з використанням типових для ОС Windows архітектур:
- «Діалогу»;
- «Одно-документної»;
- «Багато-документної».
Скласти список будівель мікрорайону та кількість квартир у них.
Проект програми на основі Діалогу
Для розробки програмного забезпечення в середовищі MS Visual Studio я створив проект. Він містить інформацію про структуру класів, глобальні об’єкти, ресурси і файли програми. Розробка віконної програми MFC полягає у включенні в проект класів, що наслідують базові класи MFC, і наповненні їх необхідною функціональністю. В одному з файлів з розширенням .cpp мусить створюватись об’єкт програми (CwinApp theApp), якому передається керування після запуску прикладної програми.
Новий MFC Проект містить класи, ресурси і файли програми (CTestApp) та вікна діалогу (CTestDlg)(які будуть показані в додатках).
В середовищі Microsoft Visual Studio закладена бібліотека стандартних шаблонів. Створивши проект нам відкрило коди класів які мені потрібно.
В додатках в мене будуть коди класів,операцій та обєків які я доробив.
Клас 1.1
Робочий клас в якому описуються змінні класу, в мому випадку це є назва вулиці, номер будину,кількість квартир в ньому.
Клас 1.2
Клас діалового вікна (всі змінні і методи діалогового вікна).
Функція 1.1
Вводить змінні класу 1.2, змінну кількості та змінну файлу.
Функція 1.2
Оголошення змінної файлу та оголошення змінної кількості.
Функція 1.3
Оголошує дозвіл запису в поля, заповнення вулиці в класс, заповнення будинку, заповнення квартир, збільшення кількості.
Функція 1.4
Це цикл запису в файл.
Функція 1.5
Це функція запису в файл.
Я описав все чому відповідають функції та класи першої програми. Після компіляції коду програма працює. Створивши діалогову програму при запуску якої відкриваєтьс вікно.В цьому вікні ми записуємо дані(в нашому випадку назву вулиці, номер будівлі,кількість квартир у будівлі).Далі ми натискаєм на позначку «Save to class» яка зберігає дані в клас, після цього вводимо наступні дані, після кожного вводу даних збегаємо їх в клас, по закінченні вводу натискаєм на позначку «Save to file» яка зберігає нам дані вже збереженні в класі в текстовий файл.
ОДНОДОКУМЕНТНА ПРОГРАМА
Завдання
Використовуючи графічний інтерфейс на основі «Діалогу» забезпечити введення даних в поля заданого об’єкту та записати ці значення у текстовий файл. Для розділення значень полів використовувати коми.
ПРОЕКТ ДЛЯ ПРОГРАМИ З ОДНОДОКУМЕНТНОЮ АРХІТЕКТУРОЮ
Початкові кроки створення Проекту для програми з однодокументною архітектурою аналогічні як і для програми на основі Діалогу. Тільки на першому кроці необхідно встановити відповідну мітку і встановлювати елементи діалогу.
Клас CTestApp містить функцію InitInstance(), з якої починається виконання програми і створення об’єкту програми theApp В функції InitInstance() створюється об’єкт вікна програми, до нього приєднується вікно програми і вікно програми на екрані.
Клас CMainFrame містить об’єкти класів CStatusBar, CToolBar та CChildView і функції, що підтримують зовнішній вигляд вікна програми. Клас CChildView містить функції PreCreateWindow() та OnPaint()У функції PreCreateWindow() налаштовується зовнішній вигляд робочої області вікна програми, а функція OnPaint() дозволяє здійснювати графічний вивід у робочу область вікна програми. Для цього вона містить об’єкт класу контексту екрана CPaintDC.
Контекст екрана інкапсулює весь графічний вивід в робочу область вікна програми.
Клас 2.1
Виконує таку саму функцію щой клас 1.1.
Клас 2.2
Зберігає документ.У ньому є функція 2.1
Функція 2.1
Оголошує стрічку документу, допоміжну стрічку, змінні класу та змінна кількості
Клас 2.3
Клас зовнішнього вигляду.Він відповідає за інтерфейс програми та її функціонування.В ньому є наступні функції.
Функція 2.2
Відповідає за вивід тексту.
Функція 2.3
Оголошення документу.
Функція 2.4
Запис в стрічку документу.
Функція 2.5
Запис в клас.
Функція 2.6
Запис в файл.
Я описав все чому відповідають функції та класи другої програми.
Описання результатів
Я створив програму на основі «Діалогу» при запуску якої відкривається в вікно в якому ми записуєм дані (в нашому випадку назву вулиці, номер будівлі,кількість квартир у будівлі).Для розділення значень полів використовував коми. Коли у вікні ми вводили крапку нам записує дані в клас, а коли вводим знак оклику то воно записує в текстовий файл.
Багатодокументна програма
Завдання
Використовуючи програму з однодокументною архітектурою забезпечити читання та запис текстових файлів з полями (розділяються комами) заданих об’єктів. За допомогою розробленої програми можна додавати нові записи до відкритого файлу.
Клас 3.1
Клас документу.Який містить функції.
Функія 3.1
Стрічка документу
Функція 3.2
Ініціалізація.
Функція 3.3
Запис в файл.
Функція 3.4
Завантаження з файлу.
Клас 3.2
Клас зовнішнього вигляду.
Функція 3.5
Вивід стрічки.
Функція 3.6
Оголошення документу.
Функція 3.7
Оновлення всіх документів.
Описання результатів
Я створив програму на основі «Однодокументної» при запуску якої відкривається в вікно в якому Я записую дані (в мому випадку назву вулиці, номер будівлі,кількість квартир у будівлі).Також ми маємо можливість вікривати попередні списки задопомогою «!».
Висновок
Я навчився створювати графічний інтерфейс використовуючи при цьому MFC (Microsoft Foundation Classes) і використовував типові для ОС Windows архітектури «Діалогу».
Використовуючи графічний інтерфейс на основі «Діалогу» Я забезпечив введення даних в поля заданого об’єкту та записати ці значення у текстовий файл. Для розділення значень полів використовував коми.
Використовуючи програму з однодокументною архітектурою Я забезпечив читання та запис текстових файлів з полями (розділяються комами) заданих об’єктів. За допомогою розробленої програми можна додавати нові записи до відкритого файлу і відкривати старий.