50296 (Разработка структуры класса "Адресное бюро"), страница 2
Описание файла
Документ из архива "Разработка структуры класса "Адресное бюро"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50296"
Текст 2 страницы из документа "50296"
Для реализации данного приложения было использовано 2 формы: главная форма приложения, где отображаются введенные данные, и осуществляется поиск записей; и форма для добавления и редактирования записей.
Для оформления главной формы был использован компонент TabControl, который содержит 3 вкладки (TabPage). На всех трех вкладках располагается DataGridView. Этот компонент удобен тем, что отображает все данные упорядоченно в таблице. В зависимости от выбранной вкладки появляется та или иная таблица с данными. На первой вкладке TabControl-а отображаются данные класса Flat, на второй – класса Predpriyatiya, на третьей – Podrazdel. Добавление в класс осуществляется после нажатия кнопки «Добавить». В форме диалога вызывается вторая форма, на которой находятся 7 текстовых полей - TextBox-ов, в которые пользователи вводят данные о том или ином лице. После заполнения нажимается кнопка «Ок», данные заносятся в экземпляр соответствующего класса, объявленный в этой форме:
FlatAdr = new Flat();
FlatAdr.SetLastName(textBox1.Text);
FlatAdr.SetFirstName(textBox2.Text);
FlatAdr.SetMiddleName(textBox3.Text);
FlatAdr.SetTown(textBox4.Text);
FlatAdr.SetStreet(textBox5.Text);
FlatAdr.SetNumber(Convert.ToUInt32(textBox6.Text));
FlatAdr.SetKorpus(Convert.ToUInt32(textBox7.Text));
Если были заполнены не все поля, программа вызовет MessageBox с ошибкой. Далее данные передаются из формы добавления в главную форму. После добавления данные заносятся в специальный контейнер List<>. В угловых скобках пишется тип данных этого контейнера. В зависимости от того какая вкладка была активной, данные добавляются в соответствующий класс. Функция добавления приведена ниже:
switch (tabControl1.SelectedIndex)
{case 0:
list.Add(form.FlatAdr);
dataGridView1.Rows.Add();
dataGridView1.Rows[list.Count - 1].Cells[0].Value = list[list.Count - 1].LastName;
dataGridView1.Rows[list.Count - 1].Cells[1].Value = list[list.Count - 1].FirstName;
dataGridView1.Rows[list.Count - 1].Cells[2].Value = list[list.Count - 1].MiddleName;
dataGridView1.Rows[list.Count - 1].Cells[3].Value = list[list.Count - 1].Town;
dataGridView1.Rows[list.Count - 1].Cells[4].Value = list[list.Count - 1].Street;
dataGridView1.Rows[list.Count - 1].Cells[5].Value = list[list.Count - 1].Number.ToString();
dataGridView1.Rows[list.Count - 1].Cells[6].Value = list[list.Count - 1].Korpus.ToString();
break;}
Для того чтобы удалить запись, нужно выбрать из таблицы необходимую строку. Программа считывает номер активной строки и присваивает его переменной. Затем встроенная функция контейнера Remove() удаляет элемент с указанным индексом. Далее обновляются данные в таблице. Функция удаления приведена ниже:
numb = Convert.ToInt32(dataGridView1.CurrentRow.Index);
list.Remove(list[numb]);
if (list.Count != 0)
dataGridView1.Rows.RemoveAt(list.Count - 1);
else
dataGridView1.Rows.RemoveAt(0);
for (int k = 0; k < list.Count; k++)
{dataGridView1.Rows[k].Cells[0].Value = list[k].LastName;
dataGridView1.Rows[k].Cells[1].Value = list[k].FirstName;
dataGridView1.Rows[k].Cells[2].Value = list[k].MiddleName;
dataGridView1.Rows[k].Cells[3].Value = list[k].Town;
dataGridView1.Rows[k].Cells[4].Value = list[k].Street;
dataGridView1.Rows[k].Cells[5].Value = list[k].Number.ToString();
dataGridView1.Rows[k].Cells[6].Value = list[k].Korpus.ToString();}
Функция редактирования аналогична функции добавления. Двойным кликом по редактируемой строке вызывается форма Добавления (Редактирования). Этой форме передаются текущее значение данных. Далее данные редактируются и передаются главной форме. Принцип редактирования аналогичен добавления. Из TextBox-ов данные заносятся в экземпляр класса, затем поля записей в контейнере заменяются полями экземпляра класса. Таблица обновляется. Функция редактирования:
numb1 = Convert.ToInt32(dataGridView1.CurrentRow.Index);
form.textBox1.Text = list[numb1].LastName;
form.textBox2.Text = list[numb1].FirstName;
form.textBox3.Text = list[numb1].MiddleName;
form.textBox4.Text = list[numb1].Town;
form.textBox5.Text = list[numb1].Street;
form.textBox6.Text = list[numb1].Number.ToString();
form.textBox7.Text = list[numb1].Korpus.ToString();
form.ShowDialog();
list[numb1].LastName = form.FlatAdr.LastName;
list[numb1].FirstName = form.FlatAdr.FirstName;
list[numb1].MiddleName = form.FlatAdr.MiddleName;
list[numb1].Town = form.FlatAdr.Town;
list[numb1].Street = form.FlatAdr.Street;
list[numb1].Number = form.FlatAdr.Number;
list[numb1].Korpus = form.FlatAdr.Korpus;
dataGridView1.Rows[numb1].Cells[0].Value = list[numb1].LastName;
dataGridView1.Rows[numb1].Cells[1].Value = list[numb1].FirstName;
dataGridView1.Rows[numb1].Cells[2].Value = list[numb1].MiddleName;
dataGridView1.Rows[numb1].Cells[3].Value = list[numb1].Town;
dataGridView1.Rows[numb1].Cells[4].Value = list[numb1].Street;
dataGridView1.Rows[numb1].Cells[5].Value = list[numb1].Number.ToString();
dataGridView1.Rows[numb1].Cells[6].Value = list[numb1].Korpus.ToString();
В приложении реализован поиск по имени (radioButton1) или по адресу (radioButton2). Компонент RadioButton позволяет пользователю выбрать единственный вариант из группы доступных, когда используется вместе с другими элементами управления RadioButton. Если необходимо осуществить поиск по имени, то выбирается radioButton1, в TextBox1 вводится информация для поиска, нажимается кнопка «Искать». Информация для поиска заносится в переменную типа string. Затем в цикле перебираются все записи данного класса и сравнивается поле имя, фамилия, отчество (либо только имя) с этой переменной. Поиск по имени выглядит так:
if (radioButton1.Checked == true)
{for (int i = 0; i < list.Count; i++)
{if ((list[i].LastName == search) || (list[i].FirstName == search) || (list[i].MiddleName == search))
{dataGridView1.Rows.Add();
dataGridView1.Rows[k1].Cells[0].Value = list[i].LastName;
dataGridView1.Rows[k1].Cells[1].Value = list[i].FirstName;
dataGridView1.Rows[k1].Cells[2].Value = list[i].MiddleName;
dataGridView1.Rows[k1].Cells[3].Value = list[i].Town;
dataGridView1.Rows[k1].Cells[4].Value = list[i].Street;
dataGridView1.Rows[k1].Cells[5].Value = list[i].Number.ToString();
dataGridView1.Rows[k1].Cells[6].Value = list[i].Korpus.ToString();
k1++;}}}
Поиск по адресу аналогичен поиску по имени, только сравниваются поля город, улица, дом, корпус. Поиск по адресу:
if (radioButton2.Checked == true)
{for (int i = 0; i < list.Count; i++)
{if ((list[i].Town == search) || (list[i].Street == search) || (list[i].Number.ToString() == search) || (list[i].Korpus.ToString() == search))
{dataGridView1.Rows.Add();
dataGridView1.Rows[k1].Cells[0].Value = list[i].LastName;
dataGridView1.Rows[k1].Cells[1].Value = list[i].FirstName;
dataGridView1.Rows[k1].Cells[2].Value = list[i].MiddleName;
dataGridView1.Rows[k1].Cells[3].Value = list[i].Town;
dataGridView1.Rows[k1].Cells[4].Value = list[i].Street;
dataGridView1.Rows[k1].Cells[5].Value = list[i].Number.ToString();
dataGridView1.Rows[k1].Cells[6].Value = list[i].Korpus.ToString();
k1++;}}}
Найденные записи отображаются в таблице отдельно от других записей. Если после поиска необходимо отобразить все записи, нужно нажать кнопку «Все записи».
Руководство программиста
Приложение «Адресное бюро» предназначено для хранения данных о частных лицах или предприятиях и их адресах, для быстрого их поиска. В данном приложении реализовано добавление, удаление, редактировании и поиск информации. Программа была разработана в интегрированной среде программирования Microsoft Visual Studio 2010. Приложение состоит из исполнимого модуля Kursach.exe, файла главной формы Form.cs, файла формы добавления Added.cs. Данная программа тестировалась на компьютере следующей конфигурации:
-
Процессор Intel(R) Core(TM) i3 CPU M330 @2.13 GHz 2.13 GHz
-
ОЗУ 2.00 ГБ
-
ОС Windows 7 Максимальная 32-разрядная
Для выполнения программы необходимо наличие:
-
процессор AMD Athlon 64 или Pentium
-
оперативная память не менее 64 Мб
-
жесткий диск емкостью не менее 1 Гб
-
экран разрешением не менее 800 х 600 точек
-
клавиатура, мышь
-
установленная операционная система , Windows Me, Windows 2000, Windows XP, Windows Vista, Windows 7 + наличие дисковода.
Все современные компьютеры удовлетворяют данным требованиям.
Программа состоит из трех основных частей: иерархия классов, главная форма, форма добавления. Основу главной формы составляют функции добавления, удаления, редактирования и поиска.
Руководство пользователя
Для того чтобы запустить приложение, необходимо открыть исполнительный файл Kursach.exe. После этого появится главная форма программы, на которой находятся три вкладки с таблицами, кнопки «Добавить», «Удалить», «Искать» и «Список». Для работы с разными классами необходимо для начала выбрать активной одну из закладок. По умолчанию активной является первая закладка. После того как закладка выбрана можно работать с классами.
Для добавления записи необходимо нажать кнопку «Добавить», после чего появится форма добавления. Затем нужно заполнить все поля и нажать кнопку «Ок». Если не заполнены все поля, то программа выдаст сообщение об ошибке и предложит заполнить все поля. При желании возможно отказаться от добавления и нажать кнопку «Отмена». После добавления запись автоматически отображается в таблице.
Для удаления записи необходимо выделить строку и нажать кнопку «Удалить». Если записей в таблице нет, то при попытке нажать кнопку «Удалить», программа выдаст сообщение об ошибке.
Для того чтобы отредактировать запись, необходимо кликнуть два раза по выбранной строке в таблице. Появится форма, которая будет содержать текущее значение записи. При необходимости можно исправить эту информацию и нажать кнопку «Ок». Данные обновятся в таблице.
Для поиска необходимо выбрать, по каким параметрам он будет осуществляться, и ввести информацию в текстовое поле. Найденные записи будут выведены в таблице. При необходимости можно отобразить весь список записей. Для этого нужно нажать кнопку «Все записи».