Тема: Создание приложения, позволяющего работать с внешним файлом (создавать, сохранять ,открывать для чтения и для дописывания)

Задача.

Создать приложение, состоящее из формы, на которой будут размещаться главное меню, строка состояния и несколько экранных страниц:

1. первая страница является титульной, то есть на ней размещены надписи, содержащие сведения об авторе программы и её теме, а также на ней содержится кнопка закрытия программы;

2. вторая страница содержит диалоговые элементы для получения сведений от пользователя, значение которых будут сохраняться в виде нового файла на внешнем носителе;

3. третья страница содержит элементы, позволяющие просматривать сведе-ния из в открытого файла. Сведения могут представляться порционно: по несколько строк из файла. На странице должен размещаться элемент управления позволяющий перейти к нужной порции сведений

4. четвёртая страница содержит диалоговые элементы, значения которых позволяют задавать условия поиска информации в открытом внешнем файле. Результаты поиска отображаются здесь же в многострочном текстовом поле.

Главное меню должно отображать следующие элементы: «Создать», «От-крыть», «Сохранить», «Закрыть», «Найти», «Справка», «О программе». Первые четыре элемента должны быть сгруппированы в пункте «Файл», а последние два в пункте «Помощь».

Строка состояния должна отображать имя активного внешнего файла, т.е. файла над которым выполняется работа, и название выполняемого процесса: создание, просмотр, поиск.

Указания к работе.

Для пунктов главного меню напишите коды обработчиков, которые будут выполнять следующие действия:

«Создать» - подготавливает новый массив для записей, активизирует вторую страницу, формирует надпись «создание» в строке состояния.

«Открыть» - подготавливает доступ к файлу, выбранному пользователем через стандартное диалоговое окно открытия; формирует массив записей с необходимым количеством элементов; считывает данные из файла в массив; определяет максимальное значение для элемента управления на третьей странице; задаёт начальное значение этого элемента равное единице, а в текстовых полях формирует соответствующие значения; формирует для строки состояния надпись «просмотр». Активизирует третью страницу.

«Сохранить» - позволяет пользователю через стандартное диалоговое окно сохранения определить место сохраняемого файла, а имя этого файла определяется по значению соответствующего поля второй страницы; записывает все значения элементов массива записей в этот файл; закрывает файл и присваивает всем элементам массива значение «» (пустота). Активизирует первую страницу.

«Закрыть» - закрывает все открытые к данному моменту внешние файлы этого приложения и закрывает само приложение.

«Найти» - формирует для строки состояния надпись «поиск» и надпись с указанием имени открытого файла, активизирует четвёртое окно приложения, а полям ввода в группе «фильтр» присваивает значение пустоты.

«Справка» - этот пункт вызывает модальное окно, в котором приводятся особенности хранения данных во внешних файлах для работоспособности данного приложения (см «Пояснение к работе»).

«О программе» - пункт вызывает модальное окно, в котором отображается информация об авторе программы: ФИО, № группы, год выполнения.

Кроме перечисленных обработчиков пунктов главного меню, потребуются обработчики событий на объектах страниц:

На второй странице кнопке «Утвердить» обработчик щелчка мышью дол-жен:

1. проверить значение в поле имени файла на отсутствие в нём специаль-ных символов (таких как «пробел», «знак вопроса», «звёздочка», «знак деления» и «знак обратного деления (слеш)»), и если имя не отвечает требованиям, то выдать диалоговое окно с соответствующим текстом, а иначе перейти к пункту 2;

2. фиксировать в глобальной переменной указанное пользователем имя файла и …

3. формировать в строке состояния соответствующую надпись.

На второй странице по щелчку мышью на кнопке «Принять» обработчик дол-жен:

1. занести указанные в текстовых полях значения в соответствующие поля массива записи,

2. увеличить порядковый индекс элементов массива записей на единицу

3. очистить от значений текстовые поля на текущей странице в области «Сведения».

На третьей странице обработчик должен срабатывать в случае изменения значения управляющего элемента. При этом в текстовых полях должны отображаться значения из массива записи с соответствующим порядковым номером.

На четвёртой странице кнопке «Поиск» должен соответствовать обработчик, который в массиве записей, считанных из внешнего файла по пункту главного меню «Открыть», ищет записи с учетом значений полей панели «Фильтр» и добавляет найденные сведения в текстовую область построчно, отделяя друг от друга данные в строке несколькими пробелами.

Пояснение к работе.

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

ГРУППА ФАМИЛИЯ ДАТА ПРЕДМЕТ ОЦЕНКА