- •О.С. Зеленський
- •Розділ 9. Структура створення додатків
- •9.1. Загальна структура додатків
- •9.2. Додатки без використання архітектури «Документ-вид»
- •9.2.1. Приклад додатку реєстрації wnd-класу вікна
- •9.2.2. Створення та видалення дочірніх вікон без використання архітектури «Документ-Вид»
- •9.2.3. Створення дочірніх вікон без використання архітектури «Документ-Вид» (переключення вікон з використанням функції ShowWindow)
- •9.3. Архітектура «Документ-Вид»
- •Idr_mainframe формат строкового ресурсу.
- •9.3.1. Приклад додатку з використанням архітектури «Документ-Вид»
- •9.3.2. Види у архітектурі «Документ-Вид»
- •9.3.3. Створення видів у архітектурі «Документ-Вид» (переключення видів з використанням функції ShowWindow)
- •9.3.4. Робота з документами та видами на прикладі додатку SingleTemplate
- •9.4. Додатки mdi, робота з шаблонами
- •9.4.1. Приклад додатку mdi з одним шаблоном
- •9.4.2. Приклад додатку mdi з декількома шаблонами
- •Контрольні питання
- •Розділ 10. Робота з базами даних з використанням об'єктів ado
- •10.1.1. Ініціалізація об'єктів com з використанням директиви #import
- •10.1.2. Підтримка класів сом
- •10.2. Об'єкт Connection
- •10.3. Об'єкт Command
- •10.4. Об'єкт Recordset
- •10.5. Об'єкт Field і колекція Fields
- •10.6. Об'єкт Error і колекція Errors
- •10.8. Коротка характеристика структури мови sql
- •10.9. Синтаксис оператора вибору Select
- •10.10. Приклад програмування об'єктів ado
- •10.11. Опис розробленого навчального пакету ado6 для роботи з базами даних access та MySql
- •Int tip_bd; // тип бд 1- ms access, 2- MySql, 3 - xml
- •Void Connect_Baza(cString str);
- •Void ErrMessage(_com_error &ce);
- •If(pConn.CreateInstance("adodb.Connection"))
- •If(pRecordset.CreateInstance("adodb.RecordSet"))
- •Void cAdo6Doc::ErrMessage(_com_error &ce)
- •Void cAdo6Doc::OnMsaccess()
- •Void cAdo6Doc::OnMysql()
- •Void cAdo6Doc::OnXmlRead()
- •Void cAdo6Doc::Connect_Baza(cString str)
- •Virtual void DoDataExchange(cDataExchange* pDx);
- •Void cAdo6Dlg::DoDataExchange(cDataExchange* pDx)
- •Void cAdo6Dlg::Struct_MySql()
- •Void cAdo6Dlg::OnSelchangeListBaza()
- •Void cAdo6Dlg::OnVibor_bd()
- •Void cAdo6Dlg::AccessOpen()
- •Void cAdo6Dlg::xmlOpen()
- •Void cAdo6Dlg::Structura_bd()
- •Void cAdo6Dlg::OnSelchangeListTab()
- •Void cAdo6Dlg::show(int kod, int kod_bd)
- •Void cAdo6Dlg::Recordset_Baza(cString str)
- •Void cAdo6Dlg::OnClose()
- •10.11.2. Формування списку бд (MySql), відкриття бази даних (ms access), відкриття xml-файлу, формування списку таблиць (MySql і ms access) та полів (MySql, ms access, xml)
- •Void cAdo6Dlg::OnSelchangeListTab()
- •1. Обрану таблицю необхідно брати в зворотні лапки "`", щоб виключити помилку в тому випадку, якщо в імені таблиці будуть зустрічатися пробіли.
- •10.11.3. Робота з sql-запитами
- •Void cAdo6Dlg::OnZapros_Select()
- •If (str_query.Mid(0,6).Compare("select"))
- •If(!baza.Left(3).Compare("otl") &&
- •Void cAdo6Dlg::Recordset_Baza(cString str)
- •Void cado6Dlg::OnZapros_Make()
- •Vr_zap.Format(" Запрос выполнен за %f сек ",conec - nach);
- •10.11.4. Видалення, сортування, пошук, фільтрація, оновлення набору записів
- •Void cado6Dlg::OnZapis_Delete()
- •Void cado6Dlg::OnCheck_Sort()
- •Void cado6Dlg::OnFind()
- •0L,adSearchForward,bb);
- •Void cado6Dlg::OnFilter()
- •Void cado6Dlg::OnVozvrat()
- •10.11.5. Переходи по записах
- •Void cado6Dlg::OnButtonFirst()
- •Void cado6Dlg::OnButtonLast()
- •Void cado6Dlg::OnButtonLeft()
- •Void cado6Dlg::OnButtonRight()
- •Void cado6Dlg::OnButtonRecno()
- •Void cado6Dlg::OnButtonPgup()
- •Void cado6Dlg::OnButtonPgdn()
- •Void cado6Dlg::OnButtonBookmark()
- •10.11.6. Запис даних до xml-файлу
- •Void cAdo6Dlg::OnButtonSave()
- •10.11.7. Кнопки, призначені тільки для роботи з otl_tab
- •Void cado6Dlg::OnZapis_Add1()
- •Void cado6Dlg::OnZapis_Add2()
- •Void cado6Dlg::OnZapis_Update1()
- •Void cado6Dlg::OnZapis_Update2()
- •Void cado6Dlg::OnFormir_bd()
- •Void cAdo6Dlg::OnValues_Fields()
- •10.12. Використання у якості джерела даних електронної таблиці Excel
- •Контрольні питання
- •Завдання
- •Розділ 11. Програмування для інтернет
- •11.1. Створення броузера
- •11.3. Використання протоколу http
- •If ((pInternetSession)
- •11.4. Використання протоколу ftp
- •Контрольні питання
- •Розділ 12. Створення елементів activex
- •12.1. Створення елементів ActiveX
- •Invalidate();
- •12.2. Тестування елемента ActiveX
- •12.4. Створення елемента ActiveX на базі стандартних елементів
- •12.5. Відображення елементів ActiveX
- •Контрольні питання
- •Розділ 13. Налагодження програм
- •Int data[5];
- •Invalidate();
- •13.3. Установка точки переривання
- •13.2. Покрокове виконання програми
- •13.4. Перевірка значень змінних під час виконання програми
- •Контрольні питання
- •Список літератури
- •Додатки
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
“КРИВОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ”
КРИВОРІЗЬКИЙ ЕКОНОМІЧНИЙ ІНСТИТУТ
О.С. Зеленський
В.С. Лисенко
В.Б. Хоцкіна
І.Є. Афанасьєв
Інструментальні засоби прикладного програмування з використанням мови Visual C++
(Частина II)
Навчальний посібник
Кривий Ріг
2013
Навчальний посібник з дисципліни «Інструментальні засоби прикладного програмування» складається з двох частин та призначений для поглибленого вивчення інструментальних засобів прикладного програмування на мові Visual C++ під Windows з використанням бібліотеки MFC. Навчальний посібник адресований студентам, слухачам магістратури, аспірантам, викладачам. Може бути використаний як самовчитель.
/
Укладачі: Зеленський О.С., Лисенко В.С.,
Хоцкіна В.Б., Афанасьєв І.Є. – Кривий
Ріг: Криворізький економічний інститут
Державного вищого навчального закладу
“Криворізький національний університет”,
2012.-
Укладачі:
Зеленський О.С., д.т.н., професор
Лисенко В.С., к.е.н., доцент
Хоцкіна В.Б., к.т.н., доцент
Афанасьєв І.Є., асистент
Рецензент:
Баран С.В., к.е.н., доцент
ЗМІСТ
РОЗДІЛ 9. СТРУКТУРА СТВОРЕННЯ ДОДАТКІВ 5
9.1. Загальна структура додатків 5
9.2. Додатки без використання архітектури «Документ-вид» 9
9.2.1. Приклад додатку реєстрації WND-класу вікна 11
9.2.2. Створення та видалення дочірніх вікон без використання архітектури «Документ-Вид» 15
9.2.3. Створення дочірніх вікон без використання архітектури «Документ-Вид» (переключення вікон з використанням функції ShowWindow) 20
9.3. Архітектура «Документ-Вид» 22
9.3.1. Приклад додатку з використанням архітектури «Документ-Вид» 23
9.3.2. Види у архітектурі «Документ-Вид» 23
9.3.3. Створення видів у архітектурі «Документ-Вид» (переключення видів з використанням функції ShowWindow) 28
9.3.4. Робота з документами та видами на прикладі додатку SingleTemplate 30
9.4. Додатки MDI, робота з шаблонами 37
9.4.1. Приклад додатку MDI з одним шаблоном 37
9.4.2. Приклад додатку MDI з декількома шаблонами 38
Контрольні питання 42
РОЗДІЛ 10. РОБОТА З БАЗАМИ ДАНИХ З ВИКОРИСТАННЯМ ОБ'ЄКТІВ ADO 43
10.1. Використання об'єктів ADO в Visual C++ 43
10.1.1. Ініціалізація об'єктів COM з використанням директиви #import 43
10.1.2. Підтримка класів СОМ 44
10.1.3. Об'єкти ADO 45
10.2. Об'єкт Connection 45
10.3. Об'єкт Command 53
10.4. Об'єкт Recordset 59
10.5. Об'єкт Field і колекція Fields 73
10.6. Об'єкт Error і колекція Errors 75
10.7. Використання інтерфейсів C++ ADO 76
10.8. Коротка характеристика структури мови SQL 76
10.9. Синтаксис оператора вибору Select 79
10.10. Приклад програмування об'єктів ADO 95
10.11. Опис розробленого навчального пакету ADO6 для роботи з базами даних ACCESS та MySQL 102
10.11.1. Використання об'єктів ADO в Visual C++ на основі прикладу ADO6 103
10.11.2. Формування списку БД (MySQL), відкриття бази даних (MS ACCESS), відкриття xml-файлу, формування списку таблиць (MySQL і MS ACCESS) та полів (MySQL, MS ACCESS, XML) 129
10.11.3. Робота з SQL-запитами 135
10.11.4. Видалення, сортування, пошук, фільтрація, оновлення набору записів 141
10.11.5. Переходи по записах 148
10.11.6. Запис даних до xml-файлу 153
10.11.7. Кнопки, призначені тільки для роботи з otl_tab 153
10.12. Використання у якості джерела даних електронної таблиці Excel 168
Контрольні питання 173
РОЗДІЛ 11. ПРОГРАМУВАННЯ ДЛЯ ІНТЕРНЕТ 177
11.1. Створення броузера 177
11.2. Підтримка Internet у Visual C++ 185
11.3. Використання протоколу HTTP 185
11.4. Використання протоколу FTP 196
Контрольні питання 205
РОЗДІЛ 12. СТВОРЕННЯ ЕЛЕМЕНТІВ ACTIVEX 206
12.1. Створення елементів ActiveX 206
12.2. Тестування елемента ActiveX 211
12.3. Вставка елементів ActiveX в програми на Visual C++ 212
12.4. Створення елемента ActiveX на базі стандартних елементів 221
12.5. Відображення елементів ActiveX 227
Контрольні питання 243
РОЗДІЛ 13. НАЛАГОДЖЕННЯ ПРОГРАМ 244
13.1. Робота у відладчику Visual C++ 244
13.3. Установка точки переривання 247
13.2. Покрокове виконання програми 250
13.4. Перевірка значень змінних під час виконання програми 252
Контрольні питання 263
СПИСОК ЛІТЕРАТУРИ 264
ДОДАТКИ 265