Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 67


Функция CmSave(), вызываемая при выборе пункта меню "Сохранить" и активизирующая стандарт­ный диалог Windows "Сохранение", отличается от функции CmOpen() только режимом открытия файла (для записи, а не для чтения) и заменой функции fread() на fwrite().

Замещенная функция Paint() просматривает в цикле записи прочитанного файла, собирает данные каждой записи в символьную строку и функцией TextOut() выводит эти строки на экран друг под другом (рис. 28.7). При этом первое данное из каждой записи копируется в строку-приемник функцией strcpy(), очищая (в логическом плане) строку s от предыдущего содержимого, а последующие данные наращива­ют строку с помощью функции strcat(), выполняющей операцию конкатенации. Ради простоты в про­грамме не предусмотрено ни какого-либо форматирования выводимых строк, ни даже анализа числа ре­ально содержащихся в массиве записей.


264                                                                                                                                 Глава 28


Проверка правильности вводимых в диалог данных

Конструируя диалоговое окно с полями ввода текстовой или числовой информации, желательно иметь механизм проверки вводимых данных, чтобы, например исключить случайный ввод вместо фами­лии строки "1936" или вместо года рождения строки "Иван". Библиотека OWL предоставляет несколько классов, специально предназначенных для проверки правильности вводимых данных. Все они имеют в качестве общего прародителя класс TValidator и позволяют проанализировать правильность вводимых данных по различным параметрам - на отсутствие запрещенных символов, соответствие заданному шаб­лону (например, время обычно вводится в формате чч:мм:сс) или попадание вводимого числа в заданный диапазон. Рассмотрим модификацию примера 28-2, позволяющую контролировать правильность вводи­мых в диалог данных. Контролю подвергаются поля фамилии, должности и года рождения.

Принципиальные отличия модифицированной программы заключаются лишь в изменении текста конструктора диалогового окна:




Начало  Назад  Вперед



Книжный магазин