Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
diplom_cho.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.37 Mб
Скачать

Заключение

В заключении хотелось бы сказать, что на ранних стадиях разработки (а это начало 2011 года), программа предусматривала собой он-лайн тестирование, в которую входил не только полигон для тестирования, а так же сервер и интернет-сайт. Сначала проектом занимались три человека. Но, после ряда обсуждений – решили, что каждый должен писать свою программу и свой диплом, а не свою часть/модуль и общий диплом. Тем не менее, я считаю, что программа получилась интересной и достойной внимания. Помимо всего прочего, для чего она создавалась, мне пришлось весьма глубоко углубиться в программирование, - познать ряд вещей, которые мы не изучали на предметах программирования/ТРПП, что-то, что упустил изучить, а что-то познать и придумать сам. В любом случае для меня это послужило хорошим и полезным времяпровождением. Это не только укрепило мои знания программирования, но и подтолкнуло меня к изучению чего-то нового, стремлению, а так же более тесных связей с педагогами колледжа. Несмотря на то, что тот период, что является преддипломным и большинство уже окончили свою практику и спокойно сидят за дипломом – у меня же продолжается практика и всевозможная общественная деятельность. Но это только улучшает процесс! В таких случаях, когда ни на что не хватает времени, ненужно сдаваться! Именно так можно и нужно добиваться всего и сразу. Во многом я благодарен этому периоду, в который писался этот диплом. Мне пришлось многое пройти и многое познать для достижения этой цели.

Список используемой литературы

Архангельский А. Я., Тагин М. А. Программирование в C++ Builder 6 и 2006

Список используемых internet-ресурсов

www.codenet.ru

www.ishodniki.ru

www.vingrad.ru

www.truez.ru

www.cyberforum.ru

www.dokakodm.ucoz.ru

www.programmersforum.ru

www.sources.ru

www.builder-c.narod.ru

ПРИЛОЖЕНИЕ 1

UnitVX2.cpp

#include <vcl.h>

#pragma hdrstop

#include "UnitVX2.h"

#include "UnitStu.h"

#include "UnitPrep.h"

#include "Unitabout.h"

//#include "UnitStud.h"

//#include "Unit2.h"

//#include "Unit3.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormVX2 *FormVX2;

int pr=0;

int tekpolsov;

AnsiString prep;

//---------------------------------------------------------------------------

__fastcall TFormVX2::TFormVX2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormVX2::FormCreate(TObject *Sender)

{

//лишние на данный момент компоненты невидимы

Edit2->Visible=false;

Label2->Visible=false;

Label3->Visible=false;

ComboBox2->Visible=false;

ComboBox2->ItemIndex=0;

ComboBox2->Clear();

ComboBox2->Text="Выбор пользователя";

ADOTable1->Active=true;

while(!ADOTable1->Eof){

ComboBox2->Items->Add(ADOTable1->Fields->Fields[1]->Value);

ADOTable1->Next();

}

ComboBox2->ItemIndex=0;

}

//---------------------------------------------------------------------------

void __fastcall TFormVX2::Edit2Change(TObject *Sender)

{

//вход для преподавателя

int s,r,prizn=0;

AnsiString ss;

if (pr == 1){

ADOTable1->Active=true;

ADOTable1->First();

while(!ADOTable1->Eof){

Memo1->Lines->Add(ADOTable1->Fields->Fields[1]->Value);

if(ADOTable1->Fields->Fields[1]->Value==ComboBox2->Items->Strings[ComboBox2->ItemIndex])

{

if(ADOTable1->Fields->Fields[2]->Value == Edit2->Text)

prizn=1; Memo1->Lines->Add(IntToStr(prizn));

prep=ADOTable1->Fields->Fields[1]->Value;

break;

}

ADOTable1->Next();

} //while

} //if (pr == 1)

if(prizn==1){

tekpolsov=ADOTable1->Fields->Fields[0]->Value;

Memo1->Lines->Add(IntToStr(tekpolsov));

//ADOTable2->Active=false;

FormVX2->Hide();

FormPrep->Show();

/*Edit2->Text="";

ComboBox2->ItemIndex=0;

Label4->Caption="";

*/

//Form1->Show();

}

else Label4->Caption="Пароль неверен!";

}

//---------------------------------------------------------------------------

void __fastcall TFormVX2::ComboBox1Select(TObject *Sender)

{

//лишние на данный момент компоненты невидимы

Edit2->Visible=false;

Label2->Visible=false;

Label3->Visible=false;

ComboBox2->Visible=false;

//

pr=0;

if (ComboBox1->Items->Strings[ComboBox1->ItemIndex]=="Преподаватель")

{pr=1;

ComboBox2->Visible=true;

Edit2->Visible=true;

Label2->Visible=true;

Label3->Visible=true;

}

else // студент

{pr=2;

Edit2->Visible=false;

Label3->Visible=false;

Label2->Visible=true;

FormVX2->Hide();

FormStu->Show();

//FormStud->Show();

}

//Label4->Caption=IntToStr(pr);

}

//---------------------------------------------------------------------------

void __fastcall TFormVX2::FormClose(TObject *Sender, TCloseAction &Action)

{

exit(0);

}

//---------------------------------------------------------------------------

void __fastcall TFormVX2::Button1Click(TObject *Sender)

{

About->Show();

//FormVX2->Hide();

}

//---------------------------------------------------------------------------

UnitVX2.h

//---------------------------------------------------------------------------

#ifndef UnitVX2H

#define UnitVX2H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <ExtCtrls.hpp>

#include <jpeg.hpp>

//---------------------------------------------------------------------------

class TFormVX2 : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TComboBox *ComboBox1;

TLabel *Label2;

TLabel *Label3;

TEdit *Edit2;

TLabel *Label4;

TADOTable *ADOTable1;

TDataSource *DataSource1;

TDBGrid *DBGrid1;

TMemo *Memo1;

TComboBox *ComboBox2;

TADOConnection *ADOConnection1;

TButton *Button1;

TImage *Image1;

void __fastcall FormCreate(TObject *Sender);

void __fastcall Edit2Change(TObject *Sender);

void __fastcall ComboBox1Select(TObject *Sender);

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

void __fastcall Button1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormVX2(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVX2 *FormVX2;

//---------------------------------------------------------------------------

#endif

TestCreate.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "testcreate.h"

#include "UnitPrep.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TTestCreateForm *TestCreateForm;

int fi,kol;

AnsiString a="",b="";

int tip=1,mas[7]={0},mas1[7]={0};

AnsiString testpath, filename, picpath="pic";

int z;

int prin=0; //логика принять тип вопроса не была нажата

//---------------------------------------------------------------------------

__fastcall TTestCreateForm::TTestCreateForm(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::Button1Click(TObject *Sender)

{

if(Edit2->Text=="" )//проверка введенных данных

{ShowMessage("Введите имя теста !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

Memo1->Lines->Add(Edit2->Text);

Button1->Visible=false;

Edit2->Visible=false;

Label2->Visible=false;

Panel1->Visible=true;

Edit4->Visible=false;

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::Button2Click(TObject *Sender)

{

prin=0;

int i;

//записать вопрос

//есть ли картинка

if(CheckBox6->Checked==true)

{

fi=1;

}

else fi=0;

//запись данных предыдущего вопроса в мемо-поле

Memo1->Lines->Add(Edit3->Text); //вопрос

if (tip!=3){

for(i=6;i>=0;i=i-1)if(Edit[i]->Text!=""){kol=i+1;break;}

if (kol!=z) {ShowMessage("Не все ответы введены!"); return;}

}

for(int i=0; i<kol; i++){ mas[i]=0; mas1[i]=0;}

if(tip==1) { // один ответ

for(int i=0; i<kol; i++)

if(RadioButton[i]->Checked==true) a=IntToStr(i+1);

}//if(tip==1)

if(tip==2){ //несколько ответов

for(int i=0; i<kol; i++)

if(CheckBox[i]->Checked==true) a=a+IntToStr(i+1);

} //if(tip==2)

if(tip==3){ // ответ текст

Label7->Visible=false;

Edit5->Visible=false;

if (Edit4->Text=="") {ShowMessage("Введите текст ответа !"); return;}

a=Edit4->Text;

kol=0;

} //if(tip==3)

b=(IntToStr(tip)+" "+IntToStr(kol)+" "+IntToStr(fi)+" "+a);

Memo1->Lines->Add(b);

//запись вопросов

for(int i=0;i<kol;i++)

Memo1->Lines->Add(Edit[i]->Text);

//запись имени картинки

if(fi==1)

{ AnsiString z;

z= ExtractFileName(OpenDialog1->FileName);

z="pic\\"+z;

//Memo1->Lines->Add(ExtractFileName(OpenDialog1->FileName));

Memo1->Lines->Add(z);

}// if(fi==1)

a="";

b="";

//обнулить и скрыть все поля

Edit4->Visible=false;

for(i=0;i<z;i++){

Edit[i]->Text="";

Edit[i]->Visible=false;

CheckBox[i]->Checked=false;

CheckBox[i]->Visible=false;

RadioButton[i]->Visible = false;

RadioButton[i]->Checked = false;

}

Edit3->Text="";

Edit4->Text="";

//разрешить использовать выбор типа теста для следующего вопроса

ComboBox1->Enabled=true;

// разрешить выбирать картинку

Button5->Enabled=true;

//снять флажое есть картинка

CheckBox6->Checked==false;

Label7->Visible=true;

Edit5->Visible=true;

prin=0;

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::Button4Click(TObject *Sender)

{

switch (ComboBox1->ItemIndex){

case 0: tip=1; break;

case 1: tip=2; break;

case 2: tip=3; break;

}

if (tip!=3)

if (Edit5->Text==""){ShowMessage("Введите число ответов!"); return; }

prin=1; //логика не нарушена есть тип вопроса и число ответов

ComboBox1->Enabled=false;

if (tip!=3)z=StrToInt(Edit5->Text); else z=0;

if(tip==1)

for (int i = 0; i < z; i++ ) {

RadioButton[i]->Visible = true;

RadioButton[i]->Checked = false;

Edit[i]->Visible=true;}

if(tip==2)

for (int i = 0; i < z; i++ ) {

Edit[i]->Visible=true;

CheckBox[i]->Visible = true;

}

if(tip==3){

Label7->Visible=false;

Edit5->Visible=false;

Edit4->Visible=true; }

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::Button3Click(TObject *Sender)

{

//здесь должна быть запись последнего вопроса

if(Edit1->Text==".txt"||Edit1->Text=="" )//проверка введенных данных

{ShowMessage("Введите имя файла !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(Application->MessageBoxA("Подтвердите запись теста в файл !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{

//формирование пути

testpath="";

testpath="test\\"+Edit1->Text;

Memo1->Lines->SaveToFile(filename+"\\"+testpath);

ADODataSet1->Insert();

ADODataSet1Test->Value=(Memo1->Lines->Strings[0]);

ADODataSet1Put->Value=testpath;

ADODataSet1->Post();

}//if запись в файл

//подготовить пустое имя для следующего теста

Edit1->Text=".txt";

Memo1->Clear();

Button3->Enabled=false;

prin=0;

Edit3->Text="";

Edit5->Text=""; //число ответов

Edit4->Visible=false;

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::FormCreate(TObject *Sender)

{

//определить каталог - потому что сбивается из-за выбора картинки

int i,dl,pos;

AnsiString z;

z=ParamStr(0);

dl=z.Length();

i=dl; pos=0;

while(i!=1){ //убираем proeckt1.exe

if (z[i]=='\\'){

pos=i;

break;} i--; }

z=z.SubString(1,pos); //убираем "\"

filename=z;

Panel1->Visible=false;

Button1->Visible=true;

Edit2->Visible=true;

Label2->Visible=true;

Memo1->Visible=true;

Memo1->Clear();

Panel1->Visible=false;

//создаем массивы один раз и делаем их невидимыми

for (int i = 0; i < 7; i++ ) { //tip=2 флажки

CheckBox[i] = new TCheckBox(TestCreateForm);

CheckBox[i]->Parent = TestCreateForm;

CheckBox[i]->Left = 16;

CheckBox[i]->Top = 170+i*32;

CheckBox[i]->Width = 17;

CheckBox[i]->Visible = false;

CheckBox[i]->Checked = false;

CheckBox[i]->Caption=StrToInt(i);

}

for (int i = 0; i < 7; i++ ) { //варианты ответов для tip=1 tip=2

Edit[i] = new TEdit(TestCreateForm);

Edit[i]->Parent = TestCreateForm;

Edit[i]->Left = 58; //48

Edit[i]->Height = 21;

Edit[i]->Top = 170+i*32;

Edit[i]->Width = 489;

Edit[i]->Visible = false;

Edit[i]->Text="";

}

for (int i = 0; i < 7; i++ ) { //радиокнопки для tip=1

RadioButton[i] = new TRadioButton(TestCreateForm);

RadioButton[i]->Parent = TestCreateForm;

RadioButton[i]->Left = 16;

RadioButton[i]->Top = 170+i*32;

RadioButton[i]->Width = 17;

RadioButton[i]->Visible = false;

RadioButton[i]->Checked = false;

RadioButton[i]->Caption=StrToInt(i);

}

Edit4->Text=""; //ответ одной строкой

Edit5->Text=""; //число ответов

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::FormClose(TObject *Sender,

TCloseAction &Action)

{

//exit(0);

FormPrep->Show();

TestCreateForm->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::Button5Click(TObject *Sender)

{

OpenDialog1->InitialDir=filename+"\pic";

if(OpenDialog1->Execute()) //вызов диалога выбора файла

{

Button5->Enabled=false;

}

}

//---------------------------------------------------------------------------

/*

void __fastcall TTestCreateForm::ComboBox1Change(TObject *Sender)

{

if (ComboBox1->ItemIndex == 0){

Edit4->Visible=true; //error

Edit5->Visible=false; }

if (ComboBox1->ItemIndex == 1){

Edit4->Visible=true;

Edit5->Visible=true; }

if (ComboBox1->ItemIndex == 2){

Edit4->Visible=false; //error

Edit5->Visible=true; }

} */

//---------------------------------------------------------------------------

void __fastcall TTestCreateForm::Button6Click(TObject *Sender)

{

FormPrep->Show();

TestCreateForm->Hide();

}

//---------------------------------------------------------------------------

TestCreate.h

//---------------------------------------------------------------------------

#ifndef testcreateH

#define testcreateH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Dialogs.hpp>

#include <ExtCtrls.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

//---------------------------------------------------------------------------

class TTestCreateForm : public TForm

{

__published: // IDE-managed Components

TButton *Button1;

TEdit *Edit2;

TOpenDialog *OpenDialog1;

TLabel *Label1;

TLabel *Label2;

TEdit *Edit3;

TMemo *Memo1;

TButton *Button2;

TButton *Button3;

TLabel *Label3;

TButton *Button4;

TCheckBox *CheckBox6;

TComboBox *ComboBox1;

TLabel *Label4;

TSaveDialog *SaveDialog1;

TPanel *Panel1;

TADODataSet *ADODataSet1;

TEdit *Edit1;

TLabel *Label5;

TButton *Button5;

TEdit *Edit4;

TEdit *Edit5;

TLabel *Label6;

TLabel *Label7;

TWideStringField *ADODataSet1Test;

TWideStringField *ADODataSet1Put;

TButton *Button6;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall Button4Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

void __fastcall Button5Click(TObject *Sender);

void __fastcall Button6Click(TObject *Sender);

private: // User declarations

TCheckBox *CheckBox[7];

TEdit *Edit[7];

TRadioButton *RadioButton[7];

public: // User declarations

__fastcall TTestCreateForm(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TTestCreateForm *TestCreateForm;

//---------------------------------------------------------------------------

#endif

UnitTestStud.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include<stdio.h>

#include <stdlib.h>

#include <jpeg.hpp>

#include "UnitTestStud.h"

#include "UnitStu.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormTestStud *FormTestStud;

extern AnsiString te,na,gr;

int otv;

float k_vopr=0;

float per=0;

int mark=0;

FILE *lw;

char sr[200];

int kol=0;

int prk=0;

float k_pr=0;

int n1;

int n2;

int n3;

int otv1;

int otv2[9];

int kolotv2;

AnsiString slovo;

//---------------------------------------------------------------------------

__fastcall TFormTestStud::TFormTestStud(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormTestStud::readfile(){

if (!feof(lw)) {

for (int i = 0; i < 200; i++) sr[i] = ' ';

fgets(sr,200,lw);

if (sr[strlen(sr)-1] =='\n') sr[strlen(sr)-1]='\0';

}

if (feof(lw)) {prk=1;}

}

//---------------------------------------------------------------------------

void __fastcall TFormTestStud::Button1Click(TObject *Sender)

{

Image1->Visible=false;

if(k_vopr==0)Button1->Caption="Далее";

int prav=0;

if(n1==2)

{

for (int i=0; i<CheckListBox1->Items->Count; i++)

if (CheckListBox1->Checked[i])

{

for(int j=0; j<kolotv2; j++)

if (otv2[j]==i) prav++;

}

if(prav==kolotv2) k_pr++;

}

if(n1==1)

{

prav=RadioGroup1->ItemIndex;

if(prav+1==otv1) k_pr++;

}

if(n1==3)

{

if(slovo==Edit1->Text) k_pr++;

}

int i,j,indotw,dl; char dop;

readfile();

if(prk!=1) {

Label1->Caption=sr;

readfile();

if(prk==1) exit(1);

dop=sr[0]; n1=StrToInt(dop);

dop=sr[2]; n2=StrToInt(dop);

dop=sr[4]; n3=StrToInt(dop);

k_vopr++;

if (n1==1) {

dop=sr[6]; otv1=StrToInt(dop);

}

if (n1==1){

CheckListBox1->Items->Clear();

CheckListBox1->Visible=false;

RadioGroup1->Items->Clear();

RadioGroup1->ItemIndex=-1;

RadioGroup1->Visible=false;

Edit1->Visible=false;

for(i=1; i<=n2; i++){

readfile();

RadioGroup1->Items->Add(sr);

}

RadioGroup1->ItemIndex=-1;

RadioGroup1->Visible=true;

if(n3==1){ readfile();

Image1->Visible = true;

Image1->Stretch=true;

Image1->Picture->LoadFromFile(sr); }

}

if (n1==2){

i=6; j=0;

while(sr[i]) {otv2[j]=i-6; i++; j++;;}

kolotv2=j-1;

CheckListBox1->Items->Clear();

CheckListBox1->Visible=true;

RadioGroup1->Items->Clear();

RadioGroup1->ItemIndex=-1;

RadioGroup1->Visible=false;

Edit1->Visible=false;

for(i=1; i<=n2; i++){

readfile();

CheckListBox1->Items->Add(sr);

}

if(n3==1){ readfile();

Image1->Visible = true;

Image1->Stretch=true;

Image1->Picture->LoadFromFile(sr); }

}

if (n1==3){

i=6; j=0;

slovo=(AnsiString)sr;

dl=slovo.Length();

slovo=slovo.SubString(7,dl-3);

CheckListBox1->Items->Clear();

CheckListBox1->Visible=false;

RadioGroup1->Items->Clear();

RadioGroup1->ItemIndex=-1;

RadioGroup1->Visible=false;

Edit1->Text="";

Edit1->Visible=true;

if(n3==1){ readfile();

Image1->Visible = true;

Image1->Stretch=true;

Image1->Picture->LoadFromFile(sr); }

}}

else {

fclose(lw);

per=(k_pr/k_vopr)*100;

if(per<=100&&per>=90)mark=5;

else if(per<90&&per>=75)mark=4;

else if(per<75&&per>=60)mark=3;

else mark=2;

Label1->Caption="Число правильных ответов "+FloatToStr(k_pr)+" число вопросов "+FloatToStr(k_vopr)+" процент "+FloatToStr(per);

Label2->Caption="Оценка "+FloatToStr(mark);

RadioGroup1->Items->Clear();

RadioGroup1->ItemIndex=-1;

RadioGroup1->Visible=false;

Edit1->Visible=false;

Button1->Visible=false;

Image1->Visible=false;

CheckListBox1->Items->Clear();

CheckListBox1->Visible=false;

Button2->Visible=true;

ADODataSet1->Edit();

ADODataSet1->Insert();

ADODataSet1Group->Value=gr;

ADODataSet1Name->Value=na;

ADODataSet1Test->Value=FormTestStud->Caption;

ADODataSet1Mark->Value=mark;

ADODataSet1Percent->Value=per;

ADODataSet1Date->Value=Date();

ADODataSet1->Post();

}

}

//---------------------------------------------------------------------------

void __fastcall TFormTestStud::FormActivate(TObject *Sender)

{

RadioGroup1->Items->Clear();

RadioGroup1->ItemIndex=-1;

RadioGroup1->Visible=false;

CheckListBox1->Items->Clear();

CheckListBox1->Visible=false;

Edit1->Visible=false;

Image1->Visible=false;

int i; char dop;

if ((lw=fopen(te.c_str(),"r")) == NULL){

return; }

readfile(); if(prk==1) exit(1);

FormTestStud->Caption=sr;

Label1->Caption="";

Label2->Caption="";

Button1->Visible=true;

Button1->Caption="Начать тест";

Button2->Visible=false;

}

//---------------------------------------------------------------------------

void __fastcall TFormTestStud::Button2Click(TObject *Sender)

{

//FormStu->Show();

FormTestStud->Hide();

fclose(lw);

/*gr=0;

na="";

te=""; */

mark=0;

per=0;

k_vopr=0;

k_pr=0;

prk=0;

}

//---------------------------------------------------------------------------

void __fastcall TFormTestStud::FormClose(TObject *Sender,

TCloseAction &Action)

{

//FormStu->Show();

FormTestStud->Hide();

fclose(lw);

mark=0;

per=0;

k_vopr=0;

k_pr=0;

prk=0;

exit(0);

}

//---------------------------------------------------------------------------

void __fastcall TFormTestStud::FormCreate(TObject *Sender)

{

}

//---------------------------------------------------------------------------

UnitTestStud.h

//---------------------------------------------------------------------------

#ifndef UnitTestStudH

#define UnitTestStudH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <CheckLst.hpp>

#include <DB.hpp>

#include <ExtCtrls.hpp>

//---------------------------------------------------------------------------

class TFormTestStud : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TImage *Image1;

TRadioGroup *RadioGroup1;

TCheckListBox *CheckListBox1;

TEdit *Edit1;

TButton *Button1;

TButton *Button2;

TDataSource *DataSource1;

TLabel *Label2;

TADODataSet *ADODataSet1;

TWideStringField *ADODataSet1Name;

TWideStringField *ADODataSet1Group;

TWideStringField *ADODataSet1Test;

TIntegerField *ADODataSet1Mark;

TDateTimeField *ADODataSet1Date;

TIntegerField *ADODataSet1Percent;

void __fastcall Button1Click(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

void __fastcall FormCreate(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormTestStud(TComponent* Owner);

void __fastcall TFormTestStud::readfile();

};

//---------------------------------------------------------------------------

extern PACKAGE TFormTestStud *FormTestStud;

//---------------------------------------------------------------------------

#endif

UnitStu.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitVX2.h"

#include "UnitTestStud.h"

#include "UnitStu.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormStu *FormStu;

AnsiString na, gr, te; //фам студ, группа, название теста

AnsiString putte[200]; // массив названий файлов теста

//---------------------------------------------------------------------------

__fastcall TFormStu::TFormStu(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormStu::Button1Click(TObject *Sender)

{

if (Edit1->Text=="") {ShowMessage ("Не введено имя"); return;}

na=Edit1->Text;

if (Edit2->Text=="") {ShowMessage ("Не введена группа"); return;}

gr=Edit2->Text;

if(ComboBox1->ItemIndex==-1){ShowMessage ("Не выбран тест"); return;}

//te=ComboBox1->Items->Strings[ComboBox1->ItemIndex];

te=putte[ComboBox1->ItemIndex];

ComboBox1->ItemIndex=-1;

Edit1->Text="";

Edit2->Text="";

FormTestStud->Show();

//FormStu->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TFormStu::FormCreate(TObject *Sender)

{

int i=0,j,t=0,pr;

Edit1->Text="";

Edit2->Text="";

ADOTable1->Active=true;

ADOTable1->First();

while(!ADOTable1->Eof){ i++; pr=0;

for(j=0; j<=i; j++)

if( ComboBox1->Items->Strings[j]==ADOTable1->Fields->Fields[0]->AsString) pr=1;

if(pr==0){

ComboBox1->Items->Add(ADOTable1->Fields->Fields[0]->AsString);

putte[t]=ADOTable1->Fields->Fields[1]->AsString;

t++;

}

ADOTable1->Next();

}

ComboBox1->ItemIndex=-1;

}

//---------------------------------------------------------------------------

void __fastcall TFormStu::FormActivate(TObject *Sender)

{

Edit1->Text=na;

Edit2->Text=gr;

ComboBox1->ItemIndex=-1;

}

//---------------------------------------------------------------------------

void __fastcall TFormStu::Button2Click(TObject *Sender)

{

FormVX2->Show();

FormStu->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TFormStu::FormClose(TObject *Sender, TCloseAction &Action)

{

exit(0);

}

//---------------------------------------------------------------------------

UnitStu.h

//---------------------------------------------------------------------------

#ifndef UnitStuH

#define UnitStuH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TFormStu : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TLabel *Label2;

TLabel *Label3;

TLabel *Label4;

TEdit *Edit1;

TComboBox *ComboBox1;

TButton *Button1;

TEdit *Edit2;

TDataSource *DataSource1;

TADOTable *ADOTable1;

TADOConnection *ADOConnection1;

TButton *Button2;

TRichEdit *RichEdit1;

void __fastcall Button1Click(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

private: // User declarations

public: // User declarations

__fastcall TFormStu(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormStu *FormStu;

//---------------------------------------------------------------------------

#endif

UnitStat.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitStat.h"

#include "UnitPrep.h"

#include <ComObj.hpp>

#include <utilcls.h>

#include "UnitDgr.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormStat *FormStat;

Variant vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell;

AnsiString vAsCurDir, vAsCurDir1,vAsNameFile;

bool fStart;

int vxod=0;

int zakr=10; //zakr - число занятых строк в заготовке книги

int kolzap; //количество из базы

int k1,k2,k3,k4,k5, kol1; //kol1 количество всего в таблице

//---------------------------------------------------------------------------

__fastcall TFormStat::TFormStat(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::FormCreate(TObject *Sender)

{

int i=0,j,pr;

AnsiString z;

z="select * from TestStud";

ADODataSet1->CommandText=z;

ADODataSet1->Active=true;

//тест заполнение комбобокс1

ADODataSet1->Active=true;

ADODataSet1->First();

while(!ADODataSet1->Eof){ i++; pr=0;

for(j=0; j<=i; j++)

if( ComboBox1->Items->Strings[j]==ADODataSet1->Fields->Fields[2]->AsString) pr=1;

if(pr==0)

ComboBox1->Items->Add(ADODataSet1->Fields->Fields[2]->AsString);

ADODataSet1->Next();

}

ComboBox1->Items->Add("все");

k1=ComboBox1->Items->Count-1;

ComboBox1->ItemIndex=k1;

//группа заполнение комбобокс2

ADODataSet1->First();

i=0;

while(!ADODataSet1->Eof){ i++; pr=0;

for(j=0; j<=i; j++)

if( ComboBox2->Items->Strings[j]==ADODataSet1->Fields->Fields[1]->AsString) pr=1;

if(pr==0)

ComboBox2->Items->Add(ADODataSet1->Fields->Fields[1]->AsString);

ADODataSet1->Next();

}

ComboBox2->Items->Add("все");

k2=ComboBox2->Items->Count-1;

ComboBox2->ItemIndex=k2;

//студент заполнение комбобокс3

ADODataSet1->First();

i=0;

while(!ADODataSet1->Eof){ i++; pr=0;

for(j=0; j<=i; j++)

if( ComboBox3->Items->Strings[j]==ADODataSet1->Fields->Fields[0]->AsString) pr=1;

if(pr==0)

ComboBox3->Items->Add(ADODataSet1->Fields->Fields[0]->AsString);

ADODataSet1->Next();

}

ComboBox3->Items->Add("все");

k3=ComboBox3->Items->Count-1;

ComboBox3->ItemIndex=k3;

//дата заполнение комбобокс4

ADODataSet1->First();

i=0;

while(!ADODataSet1->Eof){ i++; pr=0;

for(j=0; j<=i; j++)

if( ComboBox4->Items->Strings[j]==ADODataSet1->Fields->Fields[4]->AsString) pr=1;

if(pr==0)

ComboBox4->Items->Add(ADODataSet1->Fields->Fields[4]->AsString);

ADODataSet1->Next();

}

ComboBox4->Items->Add("все");

k4=ComboBox4->Items->Count-1;

ComboBox4->ItemIndex=k4;

//оценка заполнение комбобокс5

ADODataSet1->First();

i=0;

while(!ADODataSet1->Eof){ i++; pr=0;

for(j=0; j<=i; j++)

if( ComboBox5->Items->Strings[j]==ADODataSet1->Fields->Fields[3]->AsString) pr=1;

if(pr==0)

ComboBox5->Items->Add(ADODataSet1->Fields->Fields[3]->AsString);

ADODataSet1->Next();

}

ComboBox5->Items->Add("все");

k5=ComboBox5->Items->Count-1;

ComboBox5->ItemIndex=k5;

//русификация таблицы отображения данных

DBGrid1->Columns->Items[0]->Title->Caption="Студент";

DBGrid1->Columns->Items[1]->Title->Caption="Группа";

DBGrid1->Columns->Items[2]->Title->Caption="Тест";

DBGrid1->Columns->Items[3]->Title->Caption="Оценка";

DBGrid1->Columns->Items[4]->Title->Caption="Дата";

kol1= ADODataSet1->RecordCount;

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button2Click(TObject *Sender)

{

ADODataSet1->Filtered=false;

ComboBox1->ItemIndex=k1;

ComboBox2->ItemIndex=k2;

ComboBox3->ItemIndex=k3;

ComboBox4->ItemIndex=k4;

ComboBox5->ItemIndex=k5;

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button1Click(TObject *Sender)

{

//фильтрация данных по выбору преподавателя

AnsiString d; d="";

int pr=0;

ADODataSet1->Filtered=false;

if (ComboBox1->Items->Strings[ComboBox1->ItemIndex]!="все") {

d= "Test ='";

d=d+ComboBox1->Items->Strings[ComboBox1->ItemIndex].c_str();

d=d+"'"; pr=1;

}

if (ComboBox2->Items->Strings[ComboBox2->ItemIndex]!="все") {

if (pr) d=d+" and ";

d=d+ "Group ='";

d=d+ComboBox2->Items->Strings[ComboBox2->ItemIndex].c_str();

d=d+"'"; pr=1;

}

if (ComboBox3->Items->Strings[ComboBox3->ItemIndex]!="все") {

if (pr) d=d=" and ";

d=d+ "Name ='";

d=d+ComboBox3->Items->Strings[ComboBox3->ItemIndex].c_str();

d=d+"'"; pr=1;

}

if (ComboBox4->Items->Strings[ComboBox4->ItemIndex]!="все") {

if (pr) d=d+" and ";

d=d+ "Date ='";

d=d+ComboBox4->Items->Strings[ComboBox4->ItemIndex].c_str();

d=d+"'"; pr=1;

}

if (ComboBox5->Items->Strings[ComboBox5->ItemIndex]!="все") {

if (pr) d=d+" and ";

d=d+ "Mark ='";

d=d+ComboBox5->Items->Strings[ComboBox5->ItemIndex].c_str();

d=d+"'"; pr=1;

}

ADODataSet1->Filter=d;

ADODataSet1->Filtered=true;

kol1= ADODataSet1->RecordCount;

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button3Click(TObject *Sender)

{

vAsCurDir=GetCurrentDir();

kol1=ADODataSet1->RecordCount;

int i=0;

float itog=0, srball;

vAsNameFile=vAsCurDir+"\\заготовка.xls";

char vchrgBuf0[100];

vxod++;

fStart=true;

try

{

//Создаем объект Excel.Application

vVarApp=CreateOleObject("Excel.Application");

vVarApp.OlePropertySet("Visible",true);

vVarBooks=vVarApp.OlePropertyGet("Workbooks");

vVarBooks.OleProcedure("Open",vAsNameFile.c_str());

vVarBook=vVarBooks.OlePropertyGet("Item",1);

vVarSheets=vVarBook.OlePropertyGet("Worksheets");

//На первый лист

vVarSheet=vVarBook.OlePropertyGet("Worksheets",1);

vVarSheet.OleProcedure("Activate");

}

catch(...)

{

MessageBox(0,vchrgBuf0,"Ошибка", MB_OK);

vVarApp.OlePropertySet("DisplayAlerts",false);

vVarApp.OleProcedure("Quit");

}

//ADODataSet1->Active=true;

ADODataSet1->First();

while(!ADODataSet1->Eof){

i++;

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i,1);

vVarCell.OlePropertySet("Value",(ADODataSet1->Fields->Fields[1]->AsString).c_str());

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i,2);

vVarCell.OlePropertySet("Value",(ADODataSet1->Fields->Fields[0]->AsString).c_str());

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i,3);

vVarCell.OlePropertySet("Value",ADODataSet1->Fields->Fields[3]->AsInteger);

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i,4);

vVarCell.OlePropertySet("Value",(ADODataSet1->Fields->Fields[4]->AsString).c_str());

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i,5);

vVarCell.OlePropertySet("Value",(ADODataSet1->Fields->Fields[2]->AsString).c_str());

//Memo1->Lines->Add( ADODataSet1->Fields->Fields[2]->AsString);

itog+=ADODataSet1->Fields->Fields[3]->AsInteger;

ADODataSet1->Next();

} //while(!ADODataSet1->Eof)

kolzap=zakr+i-1;

AnsiString srball_f;

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i+2,2);

vVarCell.OlePropertySet("Value", "Средний балл");

srball=itog/i;

srball_f=FloatToStrF(srball,ffGeneral,3,6);

vVarCell= vVarSheet.OlePropertyGet("Cells").OlePropertyGet("Item",zakr+i+2,5);

vVarCell.OlePropertySet("Value",(srball_f).c_str());

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button4Click(TObject *Sender)

{

//Сохранить книгу в текущей папке с именем tek

if (vxod != 0){

AnsiString vAsCurDir1=vAsCurDir+"\\tek.xls";

vVarApp.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).

OleProcedure("SaveAs",vAsCurDir1.c_str()); }

//Закрыть открытое приложение Excel

if (vxod != 0) vVarApp.OleProcedure("Quit"); //Закрытие сервера

vVarApp.Clear();

vxod= 0;

//Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button5Click(TObject *Sender)

{

FormPrep->Show();

FormStat->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button6Click(TObject *Sender)

{

//диаграмма

//Вспомогательная переменная

Variant v;

//Выйдем если не запускали создание таблицы

if(!fStart) return;

//Сделать текущей книгу 1

vVarBook=vVarBooks.OlePropertyGet("Item",1);

//Сделать текущим лист 1 книги 1

vVarSheets=vVarBook.OlePropertyGet("Worksheets") ;

vVarSheet=vVarSheets.OlePropertyGet("Item",1);

//Смотреть на лист 1 книги 1

vVarSheet.OlePropertyGet("Select");

//Объединить ячейки с данными

AnsiString d,k; int n;

n=kolzap;

Memo1->Lines->Add(n);

d="C"+IntToStr(n+1);

Memo1->Lines->Add(d);

//vVarCell=vVarSheet.OlePropertyGet("Range",number);

vVarCell=vVarSheet.OlePropertyGet ("Range", WideString ("B11"), WideString(d));

//Выделить ячейки

vVarCell.OleProcedure("Select");

//Переменной vVarBooks присвоить значение Charts - свойство

//объекта Excel.Application, содержащее набор диаграмм

vVarBooks=vVarApp.OlePropertyGet("Charts");

//Добавить диаграмму по умолчанию

vVarBooks.OleProcedure("Add");

//подпись осей

vVarBook.OlePropertyGet("ActiveChart").

OlePropertyGet("Axes",1,1).

OlePropertySet("HasTitle",true);

vVarBook.OlePropertyGet("ActiveChart").

OlePropertyGet("Axes",1,1).

OlePropertyGet("AxisTitle").OlePropertyGet("Characters").

OlePropertySet("Text","студенты");

vVarBook.OlePropertyGet("ActiveChart").

OlePropertyGet("Axes",2,1).

OlePropertySet("HasTitle",true);

vVarBook.OlePropertyGet("ActiveChart").

OlePropertyGet("Axes",2,1).

OlePropertyGet("AxisTitle").

OlePropertyGet("Characters").

OlePropertySet("Text","оценки");

/*

//легенда

vVarBook.OlePropertyGet("ActiveChart").

OlePropertySet("HasLegend",true);

vVarBook.OlePropertyGet("ActiveChart").

OlePropertyGet("SeriesCollection",1).

OlePropertySet("Name","Оклад");

vVarBook.OlePropertyGet("ActiveChart").

OlePropertyGet("SeriesCollection",2).

OlePropertySet("Name","Зарплата");

Variant v1=vVarBook.OlePropertyGet("ActiveChart").OlePropertyGet("Legend");

v1.OleProcedure("Select");

//Где разместить - слева, справа, снизу...

//v1.OlePropertySet("Position", -4152);

//Цвет легенды

v1.OlePropertyGet("Interior").OlePropertySet("ColorIndex",34);

*/

}

//---------------------------------------------------------------------------

void __fastcall TFormStat::Button7Click(TObject *Sender)

{

FormDgr->Show();

}

//---------------------------------------------------------------------------

UnitStat.h

//---------------------------------------------------------------------------

#ifndef UnitStatH

#define UnitStatH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TFormStat : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGrid1;

TLabel *Label1;

TComboBox *ComboBox1;

TComboBox *ComboBox2;

TComboBox *ComboBox3;

TComboBox *ComboBox4;

TComboBox *ComboBox5;

TButton *Button1;

TButton *Button2;

TButton *Button3;

TMemo *Memo1;

TDataSource *DataSource1;

TADODataSet *ADODataSet1;

TButton *Button4;

TButton *Button5;

TRichEdit *RichEdit1;

TButton *Button7;

void __fastcall FormCreate(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

void __fastcall Button4Click(TObject *Sender);

void __fastcall Button5Click(TObject *Sender);

void __fastcall Button6Click(TObject *Sender);

void __fastcall Button7Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormStat(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormStat *FormStat;

//---------------------------------------------------------------------------

#endif

UnitPrep.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitVX2.h"

#include "testcreate.h"

#include "UnitPrep.h"

#include "UnitStat.h"

#include "UnitKor.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormPrep *FormPrep;

//---------------------------------------------------------------------------

__fastcall TFormPrep::TFormPrep(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormPrep::Button1Click(TObject *Sender)

{

TestCreateForm->Show();

}

//---------------------------------------------------------------------------

void __fastcall TFormPrep::Button3Click(TObject *Sender)

{

FormVX2->Show();

FormPrep->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TFormPrep::FormClose(TObject *Sender, TCloseAction &Action)

{

exit(0);

}

//---------------------------------------------------------------------------

void __fastcall TFormPrep::Button4Click(TObject *Sender)

{

FormStat->Show();

}

//---------------------------------------------------------------------------

void __fastcall TFormPrep::Button2Click(TObject *Sender)

{

FormKor->Show();

}

//---------------------------------------------------------------------------

void __fastcall TFormPrep::FormCreate(TObject *Sender)

{

}

//---------------------------------------------------------------------------

UnitPrep.h

//---------------------------------------------------------------------------

#ifndef UnitPrepH

#define UnitPrepH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TFormPrep : public TForm

{

__published: // IDE-managed Components

TButton *Button1;

TButton *Button2;

TButton *Button3;

TRichEdit *RichEdit1;

TButton *Button4;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

void __fastcall Button4Click(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormPrep(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormPrep *FormPrep;

//---------------------------------------------------------------------------

#endif

UnitKor.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitKor.h"

#include "UnitPrep.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormKor *FormKor;

AnsiString mas[500];

AnsiString filepath, z;

//---------------------------------------------------------------------------

__fastcall TFormKor::TFormKor(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormKor::Button1Click(TObject *Sender)

{

FormPrep->Show();

FormKor->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TFormKor::FormCreate(TObject *Sender)

{

int i=0,j,pr;

//имя теста заполнение комбобокс1

ADOTable1->Active=true;

ADOTable1->First();

while(!ADOTable1->Eof){ pr=0;

for(j=0; j<=i; j++)

if( ComboBox1->Items->Strings[j]==ADOTable1->Fields->Fields[0]->AsString) pr=1;

if(pr==0){

ComboBox1->Items->Add(ADOTable1->Fields->Fields[0]->AsString);

mas[i]= ADOTable1->Fields->Fields[1]->AsString;

i++;

}

ADOTable1->Next();

}

ComboBox1->ItemIndex=0;

int dl,pos;

AnsiString z1;

z1=ParamStr(0);

dl=z1.Length();

i=dl; pos=0;

while(i!=1){ //??????? proeckt1.exe

if (z1[i]=='\\'){

pos=i;

break;} i--; }

z1=z1.SubString(1,pos); //??????? "\"

filepath=z1;

//Memo2->Lines->Add("Инструкция для преподавателя");

}

//---------------------------------------------------------------------------

void __fastcall TFormKor::ComboBox1Change(TObject *Sender)

{

//открыть файл, соответствующий выбранному тесту

AnsiString zname;

Memo1->Clear();

zname=mas[ComboBox1->ItemIndex];

//Memo1->Lines->Add(zname);

//формирование пути

//соединить каталог и имя файла

z="";

z=filepath+"\\"+zname;

Memo1->Lines->LoadFromFile(z);

}

//---------------------------------------------------------------------------

void __fastcall TFormKor::Button2Click(TObject *Sender)

{

Memo1->Lines->SaveToFile(z);

}

//---------------------------------------------------------------------------

UnitKor.h

//---------------------------------------------------------------------------

#ifndef UnitKorH

#define UnitKorH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TFormKor : public TForm

{

__published: // IDE-managed Components

TButton *Button1;

TLabel *Label1;

TComboBox *ComboBox1;

TMemo *Memo1;

TADOTable *ADOTable1;

TDataSource *DataSource1;

TButton *Button2;

TRichEdit *RichEdit1;

void __fastcall Button1Click(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

void __fastcall ComboBox1Change(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormKor(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormKor *FormKor;

//---------------------------------------------------------------------------

#endif

UnitDgr.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitDgr.h"

#include "UnitStat.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormDgr *FormDgr;

//---------------------------------------------------------------------------

__fastcall TFormDgr::TFormDgr(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormDgr::FormClose(TObject *Sender, TCloseAction &Action)

{

Series1->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TFormDgr::FormActivate(TObject *Sender)

{

FormStat->ADODataSet1->Prior();

int kol,i,j;

//String colorst;

kol= FormStat->ADODataSet1->RecordCount;

Series1->Clear();

Chart1->Title->Text->Clear();

Chart1->Title->Text->Add("Диаграмма результатов тестирования") ;

Chart1->Legend->Visible=false;

//colorst=clYellow;

for( i=1; i<=kol; i++){

//первое значение - текстовое, ось Х

//второе значение числовое, ось У

//Labels как в DBChart получается автоматически без настройки как ось Х

Series1->Add(FormStat->ADODataSet1->Fields->Fields[3]->Value,FormStat->ADODataSet1->Fields->Fields[0]->Value,clYellow);

FormStat->ADODataSet1->Next();

} //for( i=1; i<=kol; i++)

}

//---------------------------------------------------------------------------

void __fastcall TFormDgr::FormCreate(TObject *Sender)

{

}

//---------------------------------------------------------------------------

UnitDgr.h

//---------------------------------------------------------------------------

#ifndef UnitDgrH

#define UnitDgrH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Chart.hpp>

#include <DBGrids.hpp>

#include <ExtCtrls.hpp>

#include <Grids.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <Series.hpp>

//---------------------------------------------------------------------------

class TFormDgr : public TForm

{

__published: // IDE-managed Components

TChart *Chart1;

TBarSeries *Series1;

TDBGrid *DBGrid1;

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

void __fastcall FormActivate(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormDgr(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormDgr *FormDgr;

//---------------------------------------------------------------------------

#endif

Unitabout.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unitabout.h"

#include "UnitVX2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TAbout *About;

//---------------------------------------------------------------------------

__fastcall TAbout::TAbout(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TAbout::Button1Click(TObject *Sender)

{

About->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TAbout::Image2Click(TObject *Sender)

{

}

//---------------------------------------------------------------------------

Unitabout.h

//---------------------------------------------------------------------------

#ifndef UnitaboutH

#define UnitaboutH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ExtCtrls.hpp>

#include <jpeg.hpp>

#include <ComCtrls.hpp>

//---------------------------------------------------------------------------

class TAbout : public TForm

{

__published: // IDE-managed Components

TImage *Image1;

TRichEdit *RichEdit1;

TButton *Button1;

TLabel *Label1;

TImage *Image2;

TRichEdit *RichEdit3;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Image2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TAbout(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TAbout *About;

//---------------------------------------------------------------------------

#endif

ПРИЛОЖЕНИЕ 2

Рис.1 Главная форма программы

Рис.2 Форма регистрации студента в программе

Рис.3 Форма тестирования – тестирующий полигон

Рис.4 Форма преподавателя

Рис.5 Форма создания теста

Рис.6 Форма редактирования теста

Рис. 7 Форма статистики

Рис.8 Построение диаграммы по отсеянному результату

Рис.9 О программе

88

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]