Мета роботи

Обробка помилок при використанні функцій 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 КЕРУВАННЯ ЗОВНІШНІМИ ПРИСТРОЯМИ. НЕСТАНДАРТНІ ПРИСТРОЇ