Ноу Інти, лекція, проектування інтерфейсу

Перевірка коректності даних

Одна з важливих функцій діалогових вікон, - прийом і передача даних, введених користувачем, для зберігання і подальшої обробки в систему. Основний вид елементів управління, призначених для введення, - це вікна редагування (TextBox). Для запобігання помилок, пов'язаних з неправильним типом введених даних або порушенням деяких умов, яким ці дані повинні задовольняти слід перевіряти їх коректність до виходу з діалогового вікна. Трохи вище ми наводили приклад роботи з простою формою введення, де перевірялася ситуація, коли користувач "забув" ввести дані у вікно введення. Зараз ми розглянемо ситуацію, в якій користувач намагається ввести некоректні дані в поле введення. Виникає питання, де слід проводити перевірку на коректність даних? Мабуть, одним з кращих місць є обробник події Exit. яким володіє елемент управління TextBox. Оброблювач цієї події викликається при спробі виходу з вікна редагування. Тут і слід проводити перевірку введених даних, щоб не допустити виходу, якщо дані введено некоректно.

Продовжимо роботу з простою формою введення і припустимо, що в поле введення слід ввести температуру хворої людини, значення, якої, природно, обмежена зверху і знизу. Ось як виглядає обробник події Exit:

Подія Exit має параметр Cancel. значення якого слід встановити в обробнику події. Якщо параметру привласнити значення True. то фокус залишається на поточному елементі, в іншому випадку він переходить до елементу, наступного за Tab - порядку. Ось як виглядає форма при спробі завдання некоректного значення температури:


Мал. 12.21. Перевірка коректності введення даних

Обмін даними з діалоговим вікном

Діалогові вікна служать для обміну інформацією між користувачем і документом. При відкритті форми із заздалегідь спроектованими властивостями елементів управління і після її ініціалізації користувач потрапляє в світ її об'єктів. У цьому світі він може виконувати різні дії, вводячи необхідні дані, вибираючи потрібні йому опції і клацаючи ті чи інші командні кнопки. У відповідь на зміни, що здійснюються користувачем, можуть викликатися обробники подій, які в свою чергу виробляють зміни властивостей об'єктів, як самої форми, так і об'єктів документа. У багатьох випадках, зміни, зроблені в результаті взаємодії повинні бути збережені перед тим, як форма буде закрита, з тим, щоб їх можна було відновити при подальші відкриття форми. Для цього можна використовувати робочу пам'ять самого додатка (осередки робочих листів в Excel, записи БД в Access, текст документа в Word), зовнішні дискові файли або змінні рівня модуля.

Наведемо зараз приклад уже знайомої нам форми, доповненої командними кнопками Save і Reset, обробники події Click яких дозволяють зберегти поточний стан елементів управління і відновити його в потрібний момент. Для зберігання інформації використовується пам'ять документа Excel. Ось як виглядає лист Excel, в осередках якого зберігаються дані про стан форми:


Мал. 12.22. Лист Excel, який зберігає інформацію про стан елементів форми

П'ять осередків листа SavedData робочої книги BookOne12 зберігають потрібну інформацію. Зауважте, осередок A1 іменована. Її ім'я "Дані" буде використано в обробниках подій. На цьому ж аркуші розташована командна кнопка "Виклик Форми". Її обробник події дуже простий, ѕ він викликає форму:

Схожі статті