Смекни!
smekni.com

Структура иерархии классов "Экран курсового проектирования" (стр. 3 из 8)

dataGridView1->Rows->Add(Student->TName,…);//добавлениеполейзаписивтаблицуdataGridView1

return;//возврат в главную программу

}

}

Полная реализация данной процедуры представлена в приложении В.

Процедура удаления доступна при выполнении двух условий:

- В таблице есть хотя бы одна запись;

- Если значение визуального компонента checkBox->Checked равно True (стоит галочка);

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

Процедураудаленияприведенаниже:

private: System::Voidbutton6_Click(System::Object^ sender, System::EventArgs^ e) {

dialres=MessageBox::Show("Выточнохотитеудалитьзапись?","Удалить?",MessageBoxButtons::OKCancel,MessageBoxIcon::Warning);//вывод предупреждения

if(dialres==System::Windows::Forms::DialogResult::OK){//проверкаусловиянаудаление

if(this->dataGridView1->SelectedRows->Count > 0 &&

this->dataGridView1->SelectedRows[0]->Index !=

this->dataGridView1->Rows->Count){// проверкананаличиестрокивыделенияудаляемойстроки

this->dataGridView1->Rows->RemoveAt(this->dataGridView1->SelectedRows[0]->Index);//удалениевыделеннойстроки

CountDataGrid--;//уменьшение количества записей в таблице

}

}

}

Полная реализация данной процедуры представлена в приложении В.

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

Рассмотримфункциюредактирования:

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

dl=MessageBox::Show("Редактироватьзапись?","Изменить?",MessageBoxButtons::OKCancel,MessageBoxIcon::Question);//выводпредупрежденияобизменениизаписи

if(dl==System::Windows::Forms::DialogResult::OK){//проверкаподтверждения

if(this->dataGridView1->SelectedRows->Count > 0 &&

this->dataGridView1->SelectedRows[0]->Index !=

this->dataGridView1->Rows->Count){// проверкананаличиестрокивыделенияудаляемойстроки

Form2 ^newdlg=gcnewForm2();//инициализация формы редактирования

newdlg->textBox1->Text=System::Convert::ToString(this->dataGridView1->SelectedRows[0]->Cells[0]->Value);//передачавформуредактированияполейтаблицы

dialres=newdlg->ShowDialog();//вызовформыредактирования и редактирование полей записи

if(dialres==System::Windows::Forms::DialogResult::OK){//подтверждениедобавленияизмененныхполей

this->dataGridView1->SelectedRows[0]->Cells[0]->Value=newdlg->textBox1->Text;//возвратотредактированныхполейобратновтаблицу

}

}

}

Полная реализация данной процедуры представлена в приложении В.

В приложении также реализован поиск. Для его выполнения достаточно одного условия – в таблице должна быть хотя бы одна запись. Поиск производится по всем полям таблицы, независимо от типов данных, которые там хранятся. При нажатии на кнопку поиска появляется окно, в котором есть единственный компонент textBox. В него вводится искомая информация. Введенная информация сравнивается с той, что хранится в полях таблицы. Если она соответствует запросу, то происходит выделение поля таблицы. Если запрос не соответствует результату, то можно продолжить поиск, нажав на «ОК» в информационном сообщении.

Запросискомойинформации:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

if(textBox1->Text!=""){//проверка наличия информации для поиска

this->DialogResult=System::Windows::Forms::DialogResult::OK;//подтверждениепоска

this->Close();//закрытие окна поиска и переход в главную программу

}

}

Полная реализация данной процедуры представлена в приложении В.

Поискинформациивтаблице:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

dialres=newdlg->ShowDialog();//вызовформыпоиска

System::String ^srh;//объявлениестрокипоиска

srh=newdlg->textBox1->Text;//присвоение значения строке поиска

for(int i=0; i<CountDataGrid; i++){//циклповсемстрокамтаблицы

for(int j=0; j<dataGridView1->ColumnCount; j++){//циклповсемстолбцамтаблицы

if(System::Convert::ToString(dataGridView1->Rows[i]->Cells[j]->Value)==srh){//проверканасоответствиезапросаполямтаблицы

dataGridView1->CurrentCell=dataGridView1->Rows[i]->Cells[j];//выделениенайденногополя

}

}

}

}

}

Полная реализация данной процедуры представлена в приложении В.

Функция изменения названия экрана курсового проектирования:

private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e) {

Start ^newdlg=gcnewStart();//инициализацияформыстартовогоокна

dialres=newdlg->ShowDialog();//вызовстартовогоокна

Screen.SetName(newdlg->textBox1->Text);//присвоениеполямклассаTScreenзначенийполейформы

listBox2->Items->Add(Screen.Composition);//передачаполейклассаTScreenвlistBox1 главнойформы

}

}

Полная реализация данной процедуры представлена в приложении В.


4 Тестирование

Конечным этапом создания программного продукта является его тестирование и отладка. В ходе тестирования программы выявляются все ее недостатки и особенности работы. Обнаруженные недостатки устраняются в ходе отладки.

В результате было создано тестирующее приложение(рисунок 2), в котором реализована структура иерархии классов, а также различные функции. А именно:

- Создание экземпляров классов;

- Добавление, удаление, редактирование и поиск данных;

- Работа с экземплярами классов через визуальные компоненты.

Рисунок 2 – Тестирующее приложение. Главное окно.

Рисунок 3 – Тестирующее приложение. Добавление/редактирование.

иерархия класс программирование


Рисунок 4 – Тестирующее приложение. Окно поиска.

Результат тестирования: в ходе тестирования программы недостатков, влияющих на правильную работу приложения, не выявлено.

Листинг тестирующего приложения предложен в Приложении В.

Данная программа тестировалась на компьютере следующей конфигурации:

1. ТипЦП DualCore AMD Athlon 64 X2, 2700 MHz (13.5 x 200) 5200+;

2. Системная память 4096 МБ (DDR2-800 DDR2 SDRAM);

3. ОС Windows 7 x64 с поддержкой 32-х приложений.

5. Руководство по программному продукту

Руководство программиста:

Созданное приложение «Экран курсового проектирования», основанное на иерархии классов, имеет открытый исходный код, что позволяет изменять его в зависимости от потребностей пользователя. Объявление экземпляров класса TScreenи TStudentпроисходит в заголовочном файле главного окна Form1.h:

public:

TStudent ^Student;//объявление указателя на экземпляр класса TStudent

TScreenScreen;//объявление экземпляра класса TScreen

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

Form1(void)

{

Student=gcnewTStudent;//инициализацияэкземпляраклассаTStudent

}

Оба этих экземпляра объявляются глобально и с атрибутом доступа Public, что позволяет получить к ним доступ из любой части главной формы и других форм. Поля и методы этих классов также имеют атрибут доступа Public и имеют стандартные типы данных платформы .NETFramework. Все входные данные в программу имеют текстовый формат, а именно System::String^. В зависимости от полей и методов класса они конвертируются с помощью стандартного конвертора в нужный тип данных:

Student->SetControlScore(System::Convert::ToInt16(newdlg->textBox17->Text));//пример использования конвертора типа данных

Руководство системного администратора:

Данное приложение использует структуру иерархии классов «Экран курсового проектирования». Объявление полей и методов абстрактного базового класса TObject находится в файле TObject.h, а их описание в файле TObject.cpp. Объявление полей и методов класса TScreen находится в файле TScreen.h, а их описание в файле TScreen.cpp. Объявление полей и методов класса TStudent находится в файле TStudent.h, а их описание в файле TStudent.cpp. Описание главного окна приложения находится в файле Form1.h; описание окна добавления/изменения информации об экране курсового проектирования находится в файле Start.h; описания окна добавления/изменения записи о студенте находится в файле Form2.h; описание окна поиска находится в файле Search.h.

Приложение «Экран курсового проектирования» было разработано в интегрированной среде программирования MicrosoftVisualStudio 2010. Приложение использует платформу .NETFramework 4, которая присутствует в операционной системе MicrosoftWindows 7.

Руководство пользователя:

Для выполнения приложения «Экран курсового проектирования» необходимы следующие минимальные системные требования:

- Pentium III 1.5 ГГц;

- GeForceFX 5200 или ATI Radeon 9550-9600 с 128 MB, поддержка шейдеров 2.0;

- 512 МбОЗУ;

- Windows® XP/Vista/7, Windows2000, DirectX 9.0c;

- .NET Framework версии 4.0;

- Место на жестком диске: 4 GB;

- Монитор с поддержкой разрешения 800x600;

- Клавиатура, мышь.

Данное приложение запускается из файла WindowsFormApplication C++.exe. При выполнении системных требований появится окно добавления информации о текущем экране курсового проектирования. После ввода доступно главное окно, в котором отражается полная информация об экране курсового проектирования и о студентах, выполняющих курсовые работы. В этом режиме программа ожидает действия от пользователя. При первом запуске доступны только команды «Добавить» и «Выход», а также справка о программе.

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

Чтобы удалить запись необходимо поставить галочку на «Разрешить редактирование таблицы». Удаление доступно при наличии записей в таблице. Далее программа переходит в режим редактирования таблицы. Для удаления необходимо выделить удаляемую строку, нажав на треугольник рядом с именем записи. При подтверждении выбранного действия программа удаляет запись, о чем информирует пользователя.