Диплом: Автоматизация процесса контроля знаний учащихся ГОУ СОШ №17

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
105
label4->Text = Convert::ToString(НомерВопроса);
textBox1->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 0]->Value);
textBox2->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 1]->Value);
textBox3->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 2]->Value);
textBox4->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 3]->Value);
textBox5->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 4]->Value);
textBox6->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 5]->Value);
textBox7->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 6]->Value);
textBox8->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 7]->Value);
textBox9->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 8]->Value);
textBox10->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 9]->Value);
}
catch (Exception ^ Ситуация) {
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
106
}
}
public: System::Void button4_Click(System::Object^ sender, System::EventArgs^
e) {
try
{
Подключение->Open();
//Очищаем таблицу теста в бд
Команда->CommandText = (String::Format("DELETE FROM [{0}]",
НазваниеТеста));
Команда->ExecuteNonQuery();
//Вносим данные в таблицу теста в базе по строчно
String^ СтрокаТаблицы;
int ЧислоКолонок = dataGridView1->ColumnCount;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < ЧислоКолонок; j++) {
СтрокаТаблицы += String::Format(" '{0}',",
dataGridView1[j, i]->Value);
}
СтрокаТаблицы = СтрокаТаблицы->Substring(0,
СтрокаТаблицы->Length - 1);
Команда->CommandText = (String::Format("INSERT INTO
[{0}] VALUES ({1})", НазваниеТеста, СтрокаТаблицы));
Команда->ExecuteNonQuery();
107
СтрокаТаблицы = "";
}
Подключение->Close();
MessageBox::Show("Тест успешно сохранен в базе");
}
catch (Exception ^ Ситуация)
{
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
};
}
Листинг 4 экранной формы
#pragma endregion
DataTable^ Таблица = gcnew DataTable(); // Объявление объекта
таблица данных
DataTable^ ТаблицаОтветов = gcnew DataTable();
DataSet^ НаборДанных; // Объявление объекта набор данных
String^ НазваниеТеста;
String^ tmp;
int НомерВопроса = 1;
int НомерВопросаТБ = 0;
108
int ВыбранОтвет;
int НомерПравОтвета;
array<String^>^ НеПравилОтветы;
int КоличествоСтолбцов;
int КоличествоСтрок;
RadioButton^ Переключатель;
OleDb::OleDbDataAdapter^ Адаптер;
OleDb::OleDbConnection^ Подключение;
OleDb::OleDbCommand^ Команда;
int Секунды;
int минуты;
int Секунды1;
int временая60 = 60;
String^ НазваниеТаблиц;
int Пробел;
public: System::Void MyForm_Load(System::Object^ sender,
System::EventArgs^ e) {
auto Подключение = gcnew OleDb::OleDbConnection(
"Data Source=\"Database2003.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение->Open();
for each (DataRow ^ dataRow in Подключение->GetSchema("Tables")-
>Rows)
{
109
if (Convert::ToString(dataRow->ItemArray[3]) == "TABLE")
{
if (Convert::ToString(dataRow->ItemArray[2]) !=
"Пользователи")
{
НазваниеТаблиц = Convert::ToString(dataRow-
>ItemArray[2]);
Пробел = НазваниеТаблиц->IndexOf(" ");
if (Пробел != -1) {
comboBox1->Items-
>Add(Convert::ToString(dataRow->ItemArray[2]));
}
}
}
}
Подключение->Close();
radioButton1->CheckedChanged +=gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton2->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton3->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton4->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton5->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
110
radioButton6->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton7->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton8->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
}
private: System::Void ComboBox1_SelectedIndexChanged(System::Object^
sender, System::EventArgs^ e) {
НазваниеТеста = comboBox1->Text;
}
private: System::Void Button2_Click(System::Object^ sender,
System::EventArgs^ e) {
this->Close();
}
public: System::Void Button1_Click_1(System::Object^ sender,
System::EventArgs^ e) {
try {
auto Подключение = gcnew OleDb::OleDbConnection(
"Data Source=\"Database2003.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
auto Команда = gcnew
OleDb::OleDbCommand(String::Format("SELECT * From [{0}]", НазваниеТеста),
Подключение);
Подключение->Open();
111
//Создаем объект класса Adapter и выполняем SQL-запрос
auto Адаптер = gcnew OleDb::OleDbDataAdapter(Команда);
//Создаем объект класса DataSet
auto НаборДанных = gcnew DataSet();
//Заполняем DataSet результатом SQL-запроса
Адаптер->Fill(НаборДанных, String::Format("{0}",
НазваниеТеста));
Подключение->Close();
String^ СтрокаXML = НаборДанных->GetXml();
//помещаем даные таблицы в дататабле
Таблица = НаборДанных->Tables[String::Format("{0}",
НазваниеТеста)];
//dataGridView2->DataSource = НаборДанных;
//dataGridView2->DataMember = String::Format("{0}",
НазваниеТеста);
button3->Visible = true;
button4->Visible = true;
button5->Visible = true;
button3->Enabled = false;
button4->Enabled = false;
button5->Enabled = false;
button1->Visible = false;
label4->Visible = true;
comboBox1->Visible = false;
label2->Visible = false;
112
label3->Visible = true;
listBox1->Visible = true;
//Определяем количество Столбцов
КоличествоСтолбцов = Таблица->Columns->Count;
int КоличествоСтрокТБ = Таблица->Rows->Count;
//считаем количество строк
КоличествоСтрок = 0;
String^ pam;
for (int j = 2; j < 20; j++)
{
pam = String::Format("{0}", Таблица->Rows[j]-
>ItemArray[0]);
if (pam == "")
{
break;
}
else
{
КоличествоСтрок = КоличествоСтрок + 1;
}
}
113
label3->Text = String::Format("{0}", Таблица->Rows[0]-
>ItemArray[0]);
//Определение времени здачи теста
Секунды = КоличествоСтолбцов * 120;
timer1->Enabled = true;
int Секунды1 = 0;
минуты = Секунды / 60;
// String::Format("{0}", Таблица->Rows[0]->ItemArray[0]);
//создаем таблицу ответов:
ТаблицаОтветов->Columns->Add("Вопрос");
ТаблицаОтветов->Columns->Add("Ответ");
//Заполнение Таблицы ответов и листБокс1
for (int i1 = 1; i1 <= КоличествоСтолбцов; i1++)
{
ТаблицаОтветов->Rows->Add(Таблица->Rows[0]-
>ItemArray[i1 - 1], "");
listBox1->Items->Add(Таблица->Rows[0]->ItemArray[i1-
1]);
}
//Создаем таблицу ответов объекта dataGridWiew1:
dataGridView1->DataSource = ТаблицаОтветов;
Смеситель();
//Занисение ответов в радиобутен и определение их
количества:
114
if (String::Format("{0}", Таблица->Rows[2]->ItemArray[0]) ==
"") { return; }
else
{
radioButton1->Visible = true;
radioButton1->Text = String::Format("{0}", Таблица-
>Rows[2]->ItemArray[0]);
if (String::Format("{0}", Таблица->Rows[3]-
>ItemArray[0]) == "")
{
return;
}
else
{
radioButton2->Visible = true;
radioButton2->Text = String::Format("{0}",
Таблица->Rows[3]->ItemArray[0]);
if (String::Format("{0}", Таблица->Rows[4]-
>ItemArray[0]) == "") { return; }
else
{
radioButton3->Visible = true;
radioButton3->Text = String::Format("{0}",
Таблица->Rows[4]->ItemArray[0]);
if (String::Format("{0}", Таблица->Rows[5]-
>ItemArray[0]) == "")

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)