Поиск в текстовых файлах
Задача темы: изучить методику и получить навыки в разработке функциональности приложений, использующих загрузку данных из текстового файла в форму для просмотра, поиска и выборки записей по ключу, добавление и сохранение данных в текстовом файле.
Разработка: Приложение "Поиск записей в текстовом файле" для автоматического подсчета средней зарплаты в выборке.
Состав выполняемых функций:
- Файловые операции: открыть, сохранить, закрыть
- Операции с записями: добавить, найти, выбрать
- Алгоритмы: подсчет средней зарплаты в выборке
- Информационно-справочные: О программе
Наращивание функциональности не предусматривается.
Защита данных предусматривается только от неквалифицированных действий пользователей. Редактирование – вручную с помощью редактора "Блокнот".
В качестве входных данных используется отдельный текстовой файл Сотрудники.txt в котором хранится база данных отдела кадров предприятия. Каждая строка файла содержит запись об одном сотруднике. Формат записи: Фамилия и инициалы – 18 символов, начиная с первой позиции; год рождения – 6 позиций; оклад – неограниченно. Тип данных определяется программно. Выходные данные программы – графическое отображение результатов в виде листбоксов и набора текстовых полей экранных форм для SmartDevice.
Шаг 1. Разработка графического интерфейса
Для программы используются три формы, примерный дизайн которых показан на рис.3.1, 3.2 и 3.3.
Главная форма ( Form1 ) на рис.3.1 содержит элементы:
- 3 надписи (label) со свойствами Text: В текстовом файле Сотрудники.txt хранится база данных отдела кадров предприятия. Каждая строка файла содержит запись об одном сотруднике. Формат записи: фамилия и инициалы (18 позиций, фамилия должна начинаться с первой позиции), год рождения (6 позиций), оклад (неограничено); Программа по заданной фамилии выводит на экран сведения о сотруднике, подсчитывая средний оклад всех запрошенных сотрудников; (С)Родигин Л.А., 2006. Платформа MS Visual C#.Net 2003;
- главное меню (mainMenu) с двумя опциями: "База данных" и "Новая запись".
Форма "База данных" (Form2) на рис.3.2 содержит элементы:
- 5 надписей (label) со свойствами Text: Фамилия и инициалы; г.р. (год рождения); Оклад; Click для удаления (записи из выборки); Ср.оклад в выборке, у.е.;
- 2 листбокса (listBox) – для базы данных (верхний) и для выборки данных (нижний) из базы;
- 1 текстовое поле для ввода фамилии в качестве ключа поиска в базе данных;
- 1 кнопку "Найти и добавить" активизации поиска и выборки данных
Форма "Новая запись" ( Form3 ) на рис.3.3 содержит элементы:
- 5 надписей со свойствами Text: Добавление записи в файл Сотрудники.txt; Фамилия, инициалы; Год рождения; Оклад, у.е.; Внимание. Для редактирования и удаления записей откройте файл в текстовом редакторе;
- 3 текстовых поля ( textBox );
- Кнопку "Добавить" для добавления записи в файл Сотрудники.txt
Шаг 2. Открываем форму "База данных"
Для опции меню "База данных" ( menuItem1_Click ) пишем:
private void menuItem1_Click(object sender, System.EventArgs e) {// Открываем форму базы данных Form DB=new Form2(); DB.Show(); // выводим форму на экран }
Шаг 3. Открываем форму "Новая запись"
Для опции меню "Новая запись" ( menuItem2_Click ) пишем:
private void menuItem2_Click(object sender, System.EventArgs e) {// Открываем форму ввода новой записи Form RW=new Form3(); RW.Show(); }
Шаг 4. Расширяем состав библиотек формы 2
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; // добавляем библиотеку работы с файлами using System.IO;