Структура иерархии классов "Экран курсового проектирования"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
: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; jColumnCount; 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();//вызов стартового окна
…
textBox1->Text);//TScreen">Screen.SetName(newdlg->textBox1->Text);//присвоениеполямклассаTScreenзначенийполейформы
…
Items->Add(Screen.Composition);//TScreenlistBox1">listBox2->Items->Add(Screen.Composition);//передачаполейклассаTScreenвlistBox1 главнойформы
…
}
}
Полная реализация данной процедуры представлена в приложении В.
4 Тестирование
Конечным этапом создания программного продукта является его тестирование и отладка. В ходе тестирования программы выявляются все ее недостатки и особенности работы. Обнаруженные недостатки устраняются в ходе отладки.
В результате было создано тестирующее приложение(рисунок 2), в котором реализована структура иерархии классов, а также различные функции. А именно:
- Создание экземпляров классов;
- Добавление, удаление, редактирование и поиск данных;
- Работа с экземплярами классов через визуальные компоненты.
Рисунок 2 Тестирующее приложение. Главное окно.
Рисунок 3 Тестирующее приложение. Добавление/редактирование.
иерархия класс программирование
Рисунок 4 Тестирующее приложение. Окно поиска.
Результат тестирования: в ходе тестирования программы недостатков, влияющих на правильную работу приложения, не выявлено.
Листинг тестирующего приложения предложен в Приложении В.
Данная программа тестировалась на компьютере следующей конфигурации:
- ТипЦП DualCore AMD Athlon 64 X2, 2700 MHz (13.5 x 200) 5200+;
- Системная память 4096 МБ (DDR2-800 DDR2 SDRAM);
- ОС Windows 7 x64 с поддержкой 32-х приложений.
5. Руководство по программному продукту
Руководство программиста:
Созданное приложение Экран курсового проектирования, основанное на иерархии классов, имеет открытый исходный код, что позволяет изменять его в зависимости от потребностей пользователя. Объявление экземпляров класса TScreenи TStudentпроисходит в заголовочном файле главного окна Form1.h:
public:
TStudent ^Student;//объявление указателя на экземпляр класса TStudent
TScreenScreen;//объявление экземпляра класса TScreen
Причем экземпляр класса TStudentинициализируется в конструкторе главной формы:
Form1(void)
{
…
Student=gcnew TStudent;//инициализацияэкземпляраклассаTStudent
…
}
Оба этих экземпляра объявляются глобально и с атрибутом доступа Public, что позволяет получить к ним доступ из любой части главной формы и других форм. Поля и методы этих классов также имеют атрибут доступа Public и имеют стандартные типы данных п