Мета роботи
Обробка помилок при використанні функцій WINAPI.
Вивчення функцій WINAPI для введення – виведення даних з використанням стандартних пристроїв
3.2 Підготовка до роботи
1. Вивчить структуру помилки для функцій. Структура помилки визначена в файлі WinError.h:
Біти 0..15 – номер помилки;
Біти 16..27 – код підсистеми, при виконані якої виникла помилка (наведені нижче);
Біт 28 – резерв, повинен бути 0;
Біт 29 – 1, якщо це помилка користувача, 0 – для помилок операційної системи;
Біти 30..31 – код важливості помилки:
// 01 - Informational
// 10 - Warning
// 11 – Error
Коди підсистем:
#define FACILITY_WINDOWS_CE 24
#define FACILITY_WINDOWS 8
#define FACILITY_URT 19
#define FACILITY_UMI 22
#define FACILITY_SXS 23
#define FACILITY_STORAGE 3
#define FACILITY_SSPI 9
#define FACILITY_SCARD 16
#define FACILITY_SETUPAPI 15
#define FACILITY_SECURITY 9
#define FACILITY_RPC 1
#define FACILITY_WIN32 7
#define FACILITY_CONTROL 10
#define FACILITY_NULL 0
#define FACILITY_MSMQ 14
#define FACILITY_MEDIASERVER 13
#define FACILITY_INTERNET 12
#define FACILITY_ITF 4
#define FACILITY_HTTP 25
#define FACILITY_DPLAY 21
#define FACILITY_DISPATCH 2
#define FACILITY_CONFIGURATION 33
#define FACILITY_COMPLUS 17
#define FACILITY_CERT 11
#define FACILITY_BACKGROUNDCOPY 32
#define FACILITY_ACS 20
#define FACILITY_AAF 18
2 Вивчити функції операційної системи (WINDOWS API) для організації введення – виведення. Зверніть увагу на наступні функції:
- MessageBox – для виведення інформації;
- функції для роботи з консоллю.
Довідник по необхідним функціям наведено в додатку А до Методичних вказівок
3.3 Порядок виконання лабораторної роботи. Завдання до лабораторної роботи
1. Усі функції, які будуть складені, повинні працювати в режимах кодування ANSI, Unicode;
2. Складіть функцію для визначення окремих полів по значенню коду помилки;
3. Складіть функцію, яка формує код помилки по заданих значеннях окремих полів;
4. Складіть функцію для дослідження різних режимів використання функції MessageBox. В функції для дослідження повинні використовуватися усі наведені в довідникові іконки повідомлень, які формуються. Перевірити можливість виведення рядків російською, українською та англійською мовою для режимів ANSI, UNICODE.
5. Забезпечте можливість виведення рядків з символьною та числовою інформацією.
6. Визначте режими роботи консолі для пристроїв введення/ виведення (скласти функцію, яка виводить ці режими).
7. Складіть функцію для введення пароля. Вимоги до функції введення пароля і перевірки його якості:
- функцію можна використовувати для візуальних та консольних додатків;
- перед введенням паролю має бути запрошення до введення паролю;
- забезпечте 2 режими роботи (з відображенням та без відображення символів, які вводяться). Якщо символ не виводиться, замість нього має бути *;
- якщо режим введення без відображення, то необхідно забезпечити повторення паролю. Після введення необхідно порівняти обидва паролі;
- пароль вважається хорошим, якщо його довжина не менш ніж 8 символів, серед символів є символи усіх трьох груп: цифри, букви на різних регістрах, роздільники.
- скласти тести та головну програму для перевірки функції введення паролю.
8. Складіть функції для введення – виведення цілих чисел, використовуючи функції введення – виведення для консолі;
9. Складіть тести та головну програму для перевірки функції для введення – виведення цілих чисел.
3.4 Зміст звіту
- Документований текст розроблених програм та функцій;
- Тести, на яких перевірялась робота функцій;
- Висновки по роботі.
3.5 Контрольні запитання і завдання
1 В яких випадках є сенс використовувати замість стандартних функцій введення – виведення функції Windows?
2 За допомогою чого визначається тип повідомлення ( попередження, помилка), при використанні функцій MessageBox?
3 Яким чином задати режим без відображення символів, які вводяться?
4 Які вимоги до паролів?
5 Які перетворення виконуються для введення і виведення цілих чисел за допомогою функцій Windows?
6 Поясніть алгоритм перетворення даного для його введення.
7 Поясніть алгоритм перетворення даного для його виведення.
4 КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. НЕСТАНДАРТНІ ПРИСТРОЇ