Разработка обучающего блока по дисциплине "Базы данных и системы управления базами данных"

Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 20.12.2015
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

}

}

Текст модуля Unit2.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

#include "Unit1.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit5.h"

#include "Unit8.h"

#include "Unit10.h"

#include "Unit14.h"

#pragma package(smart_init)

#pragma link "ShockwaveFlashObjects_OCX"

#pragma resource "*.dfm"

TForm2 *Form2;

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm2::Button5Click(TObject *Sender)

{

Application->Terminate();

}

void __fastcall TForm2::Button1Click(TObject *Sender)

{

Form2->Hide();

Form3->Show();

}

void __fastcall TForm2::Button2Click(TObject *Sender)

{

Form2->Hide();

Form5->Show();

}

void __fastcall TForm2::Button4Click(TObject *Sender)

{

Form2->Hide();

Form8->Show();

}

void __fastcall TForm2::Button3Click(TObject *Sender)

{

Form2->Hide();

Form10->Show();

}

void __fastcall TForm2::FormShow(TObject *Sender)

{

ShockwaveFlash1->Movie = ExtractFilePath(Application->ExeName) + "Flash/MainTitle.swf";

ShockwaveFlash1->Play();

AnsiString dayweek;

TDateTime CurrentDate = Date();

int Day = DayOfWeek(Date());

if (Day == 1) dayweek = "Воскресенье";

if (Day == 2) dayweek = "Понедельник";

if (Day == 3) dayweek = "Вторник";

if (Day == 4) dayweek = "Среда";

if (Day == 5) dayweek = "Четверг";

if (Day == 6) dayweek = "Пятница";

if (Day == 7) dayweek = "Суббота";

Label3->Caption = ("Сегодня "+dayweek+", \n"+CurrentDate);

}

void __fastcall TForm2::Timer1Timer(TObject *Sender)

{

Label4->Caption=Time().FormatString("hh:mm:ss");

Timer1->Interval=1000;

}

Текст модуля Unit3.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

#include "Unit4.h"

#include "Unit7.h"

#include "Unit9.h"

#include "Unit1.h"

#include "Unit10.h"

#include "Unit12.h"

#include "Unit13.h"

#include "Unit14.h"

#include "Unit15.h"

#include "Unit16.h"

#pragma package(smart_init)

#pragma link "AcroPDFLib_OCX"

#pragma link "SHDocVw_OCX"

#pragma resource "*.dfm"

TForm3 *Form3;

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm3::TreeView1Click(TObject *Sender)

{

AnsiString text = TreeView1->Selected->Text;

Label1->Caption = (text);

if (TreeView1->Selected->Level==0 || TreeView1->Selected->Level==1){

ADOQuery1 -> Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT Главы.НаименованиеГлавы, Темы.НаименованиеТемы, Главы.ИмяФайла, Темы.ИмяФайла FROM Главы, Темы");

ADOQuery1 -> Active = true;

ADOQuery1->First();

while (!ADOQuery1->Eof) {

ADOQuery1->Fields[0];

if (ADOQuery1->Fields->FieldByName("НаименованиеГлавы")->Value == (Label1->Caption)) {

Label2->Caption = (DirectoryListBox1->Directory+"\\Lessons\\"+ADOQuery1->Fields->FieldByName("Главы.ИмяФайла")->Value);

CppWebBrowser1->Navigate(StringToOleStr(Label2->Caption));

}

else if (ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value == (Label1->Caption)) {

Label2->Caption = (DirectoryListBox1->Directory+"\\Lessons\\"+ADOQuery1->Fields->FieldByName("Темы.ИмяФайла")->Value);

CppWebBrowser1->Navigate(StringToOleStr(Label2->Caption));

}

ADOQuery1->Next();

}

}

if (TreeView1->Selected->Level==2 || TreeView1->Selected->Level==3){

ADOQuery1 -> Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT Подтемы.НаименованиеПодтемы, Пункт.НаименованиеПункта, Подтемы.ИмяФайла, Пункт.ИмяФайла FROM Подтемы, Пункт");

ADOQuery1 -> Active = true;

ADOQuery1->First();

while (!ADOQuery1->Eof) {

ADOQuery1->Fields[0];

if (ADOQuery1->Fields->FieldByName("НаименованиеПодтемы")->Value == (Label1->Caption)) {

Label2->Caption = (DirectoryListBox1->Directory+"\\Lessons\\"+ADOQuery1->Fields->FieldByName("Подтемы.ИмяФайла")->Value);

CppWebBrowser1->Navigate(StringToOleStr(Label2->Caption));

}

else if (ADOQuery1->Fields->FieldByName("НаименованиеПункта")->Value == (Label1->Caption)) {

Label2->Caption = (DirectoryListBox1->Directory+"\\Lessons\\"+ADOQuery1->Fields->FieldByName("Пункт.ИмяФайла")->Value);

CppWebBrowser1->Navigate(StringToOleStr(Label2->Caption));

}

ADOQuery1->Next();

}

}

}

void __fastcall TForm3::FormShow(TObject *Sender)

{

// построение 1 уровня

ADOQuery1 -> Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Главы");

ADOQuery1 -> Active = true;

ADOQuery1->First();

while (!ADOQuery1->Eof) {

TreeView1->Items->Add(NULL,ADOQuery1->Fields->FieldByName("НаименованиеГлавы")->Value);

ADOQuery1->Next();}

// построение 2 уровня

INT n=TreeView1->Items->Count;

INT i=0; n--;

while(i<=n){

if(TreeView1->Items->Item[i]->Level==0){

ADOQuery1 -> Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT НаименованиеТемы FROM Темы,Главы WHERE НаименованиеГлавы='"+TreeView1->Items->Item[i]->Text+"' and главы.IDГлавы=Темы.IDГлавы");

ADOQuery1 -> Active = true;

ADOQuery1->First();

while (!ADOQuery1->Eof) {

TTreeNode *Node1 = TreeView1->Items->Item[i];

TreeView1->Items->AddChild(Node1,ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value);

n++;

ADOQuery1->Next();}}

i++;}

//построение 3 уровня

n=TreeView1->Items->Count;

i=0; n--;

while(i<=n){

if(TreeView1->Items->Item[i]->Level==1){

ADOQuery1 -> Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT НаименованиеПодтемы FROM Темы,Подтемы WHERE НаименованиеТемы='"+TreeView1->Items->Item[i]->Text+"' and Подтемы.IDТемы=Темы.IDТемы");

ADOQuery1 -> Active = true;

ADOQuery1->First();

while (!ADOQuery1->Eof) {

TTreeNode *Node1 = TreeView1->Items->Item[i];

TreeView1->Items->AddChild(Node1,ADOQuery1->Fields->FieldByName("НаименованиеПодтемы")->Value);

n++;

ADOQuery1->Next();}}

i++;}

//построение 4 уровня

n=TreeView1->Items->Count;

i=0; n--;

while(i<=n){

if(TreeView1->Items->Item[i]->Level==2){

ADOQuery1 -> Active = false;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT НаименованиеПункта FROM Пункт,Подтемы WHERE НаименованиеПодтемы='"+TreeView1->Items->Item[i]->Text+"' and Пункт.IDПодтемы=Подтемы.IDПодтемы");

ADOQuery1 -> Active = true;

ADOQuery1->First();

while (!ADOQuery1->Eof) {

TTreeNode *Node1 = TreeView1->Items->Item[i];

TreeView1->Items->AddChild(Node1,ADOQuery1->Fields->FieldByName("НаименованиеПункта")->Value);

n++;

ADOQuery1->Next();}}

i++;}

}

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

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

{

Application->Terminate();

}

Текст модуля Unit4.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit4.h"

#include "Unit3.h"

#include "Unit6.h"

#include "Unit7.h"

#include "Unit2.h"

#include "Unit11.h"

#include "Unit14.h"

#pragma package(smart_init)

#pragma link "ShockwaveFlashObjects_OCX"

#pragma resource "*.dfm"

TForm4 *Form4;

int viX0,viY0;

bool fMove;

AnsiString tr = "True";

AnsiString fls = "False";

int block1=0, block2=0, block3=0;

AnsiString blk1, blk2, blk3;

bool sel=0, ins=0;

int result=0;

int verno=0;

int neverno=0;

int svodka=0;

viod__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm4::Image1MouseDown(TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y)

{

if(Button != mbLeft) return;

viX0 = X;

viY0 = Y;

fMove = true;

((TControl *)Sender)->BringToFront();

}

void __fastcall TForm4::Image1MouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

if(fMove)

{

((TImage *)Sender)->

SetBounds(

((TImage *)Sender)->Left + X - viX0,

((TImage *)Sender)->Top + Y - viY0,

((TImage *)Sender)->Width,

((TImage *)Sender)->Height);

}

if (((TImage *) Sender)->Top < 255)

((TImage *) Sender)->Top = 255;

if (((TImage *) Sender)->Left <1)

((TImage *) Sender)->Left = 0;

if (((TImage *) Sender)->Top > 530)

((TImage *) Sender)->Top = 530;

if (((TImage *) Sender)->Left >1196)

((TImage *) Sender)->Left = 1196;

}

void __fastcall TForm4::Image1MouseUp(TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y)

{

fMove = false;

if (((TImage *)Sender)->Top > (Bevel1->Top) && ((TImage *)Sender)->Top < (Bevel1->Top)+20 && ((TImage *)Sender)->Left > (Bevel1->Left) && ((TImage *)Sender)->Left < (Bevel1->Left)+20){

((TImage *)Sender)->Left = Bevel1->Left;

((TImage *)Sender)->Top = Bevel1->Top;

}

if (((TImage *)Sender)->Top > (Bevel2->Top) && ((TImage *)Sender)->Top < (Bevel2->Top)+20 && ((TImage *)Sender)->Left > (Bevel2->Left) && ((TImage *)Sender)->Left < (Bevel2->Left)+20){

((TImage *)Sender)->Left = Bevel2->Left;

((TImage *)Sender)->Top = Bevel2->Top;

}

if (((TImage *)Sender)->Top > (Bevel3->Top) && ((TImage *)Sender)->Top < (Bevel3->Top)+20 && ((TImage *)Sender)->Left > (Bevel3->Left) && ((TImage *)Sender)->Left < (Bevel3->Left)+20){

((TImage *)Sender)->Left = Bevel3->Left;

((TImage *)Sender)->Top = Bevel3->Top;

}

if (((TImage *)Sender)->Left == Bevel1->Left) block1 = ((TImage *)Sender)->Tag;

if (((TImage *)Sender)->Left == Bevel2->Left) block2 = ((TImage *)Sender)->Tag;

if (((TImage *)Sender)->Left == Bevel3->Left) block3 = ((TImage *)Sender)->Tag;

}

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

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

{

Application->Terminate();

}

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

void __fastcall TForm4::FormCreate(TObject *Sender)

{

/* BorderStyle = bsNone;

Left = 0;

Top = 0;

Width =Screen->Width;

Height =Screen->Height; */

DoubleBuffered=true; // для того, чтобы убрать мерцание Image при движении

}

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

void __fastcall TForm4::Button5Click(TObject *Sender)

{

svodka=svodka+1;

Label4->Caption = "";

blk1=""; blk2=""; blk3="";

if (Image1->Left != Bevel1->Left && Image4->Left != Bevel1->Left && Image3->Left != Bevel1->Left && Image2->Left != Bevel1->Left)

block1 = 0;

if (Image6->Left != Bevel2->Left && Image9->Left != Bevel2->Left && Image10->Left != Bevel2->Left)

block2 = 0;

if (Image5->Left != Bevel3->Left && Image11->Left != Bevel3->Left)

block3 = 0;

if (block1 == 1) blk1 = "INSERT";

if (block1 == 2) blk1 = "DELETE";

if (block1 == 3) blk1 = "UPDATE";

if (block1 == 4) blk1 = "SELECT";

if (block2 == 5) blk2 = "INTO";

if (block2 == 6) blk2 = "SET";

if (block2 == 7) blk2 = "FROM";

if (block3 == 8) blk3 = "VALUES";

if (block3 == 9) blk3 = "WHERE";

if (ins == 1)

Label4->Caption = (blk1+" "+blk2+" "+Edit1->Text+" "+blk3+" "+Edit2->Text);

if (sel == 1) {

Label4->Caption = (blk1+" "+Edit1->Text+" "+blk2+" "+Edit2->Text);

if (Bevel3->Visible == true)

Label4->Caption = (blk1+" "+Edit1->Text+" "+blk2+" "+Edit2->Text+" "+blk3+" "+Edit3->Text);

}

Image1->Top = 496;

Image1->Left = 20;

Image4->Top = 496;

Image4->Left = 164;

Image5->Top = 496;

Image5->Left = 308;

Image3->Top = 496;

Image3->Left = 452;

Image2->Top = 496;

Image2->Left = 596;

Image6->Top = 496;

Image6->Left = 740;

Image9->Top = 496;

Image9->Left = 884;

Image10->Top = 496;

Image10->Left = 1028;

Image11->Top = 496;

Image11->Left = 1172;

AnsiString str = (Label4->Caption);

if (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value == str) {

result = result+1;

verno = verno+1;

if (svodka == 1) {

Form11->Label21->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image1->Visible = true;

}

if (svodka == 2) {

Form11->Label22->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image2->Visible = true;

}

if (svodka == 3) {

Form11->Label23->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image3->Visible = true;

}

if (svodka == 4) {

Form11->Label24->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image4->Visible = true;

}

if (svodka == 5) {

Form11->Label25->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image5->Visible = true;

}

if (svodka == 6) {

Form11->Label26->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image6->Visible = true;

}

if (svodka == 7) {

Form11->Label27->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image7->Visible = true;

}

if (svodka == 8) {

Form11->Label28->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image8->Visible = true;

}

if (svodka == 9) {

Form11->Label29->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image9->Visible = true;

}

if (svodka == 10) {

Form11->Label30->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image10->Visible = true;

}

}

else {

str = StringReplace(str,",",", ",TReplaceFlags()<< rfReplaceAll); // подставляет пробел после запятой

str = StringReplace(str,"("," (",TReplaceFlags()<< rfReplaceAll);

str = StringReplace(str,"S (","S (",TReplaceFlags()<< rfReplaceAll);

Label4->Caption = str;

if (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value == str) {

result = result+1;

verno = verno+1;

if (svodka == 1) {

Form11->Label21->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image1->Visible = true;

}

if (svodka == 2) {

Form11->Label22->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image2->Visible = true;

}

if (svodka == 3) {

Form11->Label23->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image3->Visible = true;

}

if (svodka == 4) {

Form11->Label24->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image4->Visible = true;

}

if (svodka == 5) {

Form11->Label25->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image5->Visible = true;

}

if (svodka == 6) {

Form11->Label26->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image6->Visible = true;

}

if (svodka == 7) {

Form11->Label27->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image7->Visible = true;

}

if (svodka == 8) {

Form11->Label28->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image8->Visible = true;

}

if (svodka == 9) {

Form11->Label29->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image9->Visible = true;

}

if (svodka == 10) {

Form11->Label30->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

Form11->Image10->Visible = true;

}

}

else {

neverno = neverno+1;

if (svodka == 1) Form11->Label21->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 2) Form11->Label22->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 3) Form11->Label23->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 4) Form11->Label24->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 5) Form11->Label25->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 6) Form11->Label26->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 7) Form11->Label27->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 8) Form11->Label28->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 9) Form11->Label29->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

if (svodka == 10) Form11->Label30->Caption = Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value;

}

}

ins = 0;

sel=0;

Form3->ADOQuery1->Next();

AnsiString title;

title = Form3->ADOQuery1->Fields->FieldByName("Вопрос")->Value;

int cols = title.Length();

if (cols > 70) {

for (int k=93;k!=70;k--)

{

if (title[k] == ' ') {

title.Insert ("\n",k+1);

break;

}

}

Label1->Caption = (title);

}

else

Label1->Caption = Form3->ADOQuery1->Fields->FieldByName("Вопрос")->Value;

Label3->Caption = Form3->ADOQuery1->Fields->FieldByName("ГлавноеУсловие")->Value;

if (!(TBlobField*)Form3->ADOQuery1->FieldByName("Приложение")->IsNull)

{

if(!Image13->Visible)

Image13->Visible=true;

TMemoryStream* strm= new TMemoryStream;

TJPEGImage *ptJpg=new TJPEGImage;

((TGraphicField*) Form3->ADOQuery1->FieldByName("Приложение"))->SaveToStream(strm);

strm->Seek(0,0);

if(*(Word*)strm->Memory==0xD8FF)

Image13->Picture->Graphic=ptJpg;

Image13->Picture->Graphic->LoadFromStream(strm);

// Image13->Canvas->Rectangle(0,0,Image13->Width,Image13->Height);

delete strm;

delete ptJpg;

}

else

Image13->Visible = false;

Edit1->Visible = false;

Edit2->Visible = false;

Edit3->Visible = false;

if (Form3->ADOQuery1->Fields->FieldByName("SELECT")->Value == tr ||

Form3->ADOQuery1->Fields->FieldByName("DELETE")->Value == tr) {

sel = 1;

Form4->Bevel1->Visible = true;

Form4->Bevel1->Left = 15;

Form4->Bevel1->Top = 302;

Form4->Bevel2->Visible = true;

Form4->Edit1->Visible = true;

Form4->Edit2->Visible = true;

if (Form3->ADOQuery1->Fields->FieldByName("WHERE")->Value == tr) {

Form4->Bevel3->Visible = true;

Form4->Edit3->Visible = true;

Form4->Edit1->Left = 168;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 301;

Form4->Bevel2->Left = 483;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 637;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 164;

Form4->Bevel3->Left = 814;

Form4->Bevel3->Top = 302;

Form4->Edit3->Left = 969;

Form4->Edit3->Top = 311;

Form4->Edit3->Width = 353;

}

else {

Form4->Edit3->Visible = false;

Form4->Bevel3->Visible = false;

Form4->Edit1->Left = 168;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 641;

Form4->Bevel2->Left = 823;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 979;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 342;

}

}

if (Form3->ADOQuery1->Fields->FieldByName("INSERT")->Value == tr) {

ins = 1;

Form4->Bevel1->Visible = true;

Form4->Bevel1->Left = 15;

Form4->Bevel1->Top = 302;

Form4->Bevel2->Visible = true;

Form4->Bevel2->Left = 167;

Form4->Bevel2->Top = 302;

Form4->Bevel3->Visible = true;

Form4->Bevel3->Left = 662;

Form4->Bevel3->Top = 302;

Form4->Edit1->Visible = true;

Form4->Edit1->Left = 320;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 329;

Form4->Edit2->Visible = true;

Form4->Edit2->Left = 815;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 506;

}

if (Form3->ADOQuery1->Fields->FieldByName("UPDATE")->Value == tr) {

Form4->Bevel1->Visible = true;

Form4->Bevel1->Left = 15;

Form4->Bevel1->Top = 302;

Form4->Bevel2->Visible = true;

Form4->Edit1->Visible = true;

Form4->Edit2->Visible = true;

if (Form3->ADOQuery1->Fields->FieldByName("WHERE")->Value == tr) {

Form4->Bevel3->Visible = true;

Form4->Edit3->Visible = true;

Form4->Edit1->Left = 168;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 161;

Form4->Bevel2->Left = 344;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 500;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 349;

Form4->Bevel3->Left = 863;

Form4->Bevel3->Top = 302;

Form4->Edit3->Left = 1017;

Form4->Edit3->Top = 311;

Form4->Edit3->Width = 304;

}

else {

Form4->Edit3->Visible = false;

Form4->Bevel3->Visible = false;

Form4->Edit1->Left = 169;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 344;

Form4->Bevel2->Left = 528;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 683;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 639;

}

}

Edit1->Text = "";

Edit2->Text = "";

Edit3->Text = "";

if (Form3->ADOQuery1->Eof) {

Button5->Enabled = false;

AnsiString usernmb;

AnsiString res = (result);

AnsiString ntest = Form3->ADOQuery1->Fields->FieldByName("IDЗапросТеста")->Value;

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT * FROM Пользователи");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("Логин")->Value == Form2->Label1->Caption)

usernmb = (Form3->ADOQuery1->Fields->FieldByName("IDПользователя")->Value);

Form3->ADOQuery1->Next();

}

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("INSERT INTO СтатистикаЗапросТеста (IDПользователя, IDЗапросТеста, Оценка)");

Form3->ADOQuery1->SQL->Add(" VALUES ("+ usernmb +", "+ ntest +", "+ res +")");

Form3->ADOQuery1->ExecSQL();

Form11->Label16->Caption = (Form2->Label1->Caption);

Form11->Label17->Caption = (verno);

Form11->Label18->Caption = (neverno);

if (verno >= 9)

Form11->Label19->Caption = "Отлично";

if (verno == 7 || verno == 8)

Form11->Label19->Caption = "Хорошо";

if (verno == 5 || verno == 6)

Form11->Label19->Caption = "Средне";

if (verno == 4)

Form11->Label19->Caption = "Ниже среднего";

if (verno <= 3)

Form11->Label19->Caption = "Плохо";

Form11->Label20->Caption = (result);

Form11->Show();

}

}

void __fastcall TForm4::Button2Click(TObject *Sender)

{

Form4->Hide();

Form6->Show();

}

void __fastcall TForm4::FormShow(TObject *Sender)

{

Timer1->Enabled = true;

Form3->ADOQuery1->Fields[0];

AnsiString title;

title = Form3->ADOQuery1->Fields->FieldByName("Вопрос")->Value;

int cols = title.Length();

if (cols > 70) {

for (int k=93;k!=70;k--)

{

if (title[k] == ' ') {

title.Insert ("\n",k+1);

break;

}

}

Label1->Caption = (title);

}

else

Label1->Caption = Form3->ADOQuery1->Fields->FieldByName("Вопрос")->Value;

Label3->Caption = Form3->ADOQuery1->Fields->FieldByName("ГлавноеУсловие")->Value;

if (!(TBlobField*)Form3->ADOQuery1->FieldByName("Приложение")->IsNull)

{

if(!Image13->Visible)

Image13->Visible=true;

TMemoryStream* strm= new TMemoryStream;

TJPEGImage *ptJpg=new TJPEGImage;

((TGraphicField*) Form3->ADOQuery1->FieldByName("Приложение"))->SaveToStream(strm);

strm->Seek(0,0);

if(*(Word*)strm->Memory==0xD8FF)

Image13->Picture->Graphic=ptJpg;

Image13->Picture->Graphic->LoadFromStream(strm);

// Image13->Canvas->Rectangle(0,0,Image13->Width,Image13->Height);

delete strm;

delete ptJpg;

}

else

Image13->Visible = false;

if (Form3->ADOQuery1->Fields->FieldByName("SELECT")->Value == tr ||

Form3->ADOQuery1->Fields->FieldByName("DELETE")->Value == tr) {

sel=1;

Form4->Bevel1->Visible = true;

Form4->Bevel1->Left = 15;

Form4->Bevel1->Top = 302;

Form4->Bevel2->Visible = true;

Form4->Edit1->Visible = true;

Form4->Edit2->Visible = true;

if (Form3->ADOQuery1->Fields->FieldByName("WHERE")->Value == tr) {

Form4->Bevel3->Visible = true;

Form4->Edit3->Visible = true;

Form4->Edit1->Left = 168;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 301;

Form4->Bevel2->Left = 483;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 637;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 164;

Form4->Bevel3->Left = 814;

Form4->Bevel3->Top = 302;

Form4->Edit3->Left = 969;

Form4->Edit3->Top = 311;

Form4->Edit3->Width = 353;

}

else {

Form4->Edit3->Visible = false;

Form4->Bevel3->Visible = false;

Form4->Edit1->Left = 168;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 641;

Form4->Bevel2->Left = 823;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 979;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 342;

}

}

if (Form3->ADOQuery1->Fields->FieldByName("INSERT")->Value == tr) {

ins = 1;

Form4->Bevel1->Visible = true;

Form4->Bevel1->Left = 15;

Form4->Bevel1->Top = 302;

Form4->Bevel2->Visible = true;

Form4->Bevel2->Left = 167;

Form4->Bevel2->Top = 302;

Form4->Bevel3->Visible = true;

Form4->Bevel3->Left = 662;

Form4->Bevel3->Top = 302;

Form4->Edit1->Visible = true;

Form4->Edit1->Left = 320;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 329;

Form4->Edit2->Visible = true;

Form4->Edit2->Left = 815;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 506;

}

if (Form3->ADOQuery1->Fields->FieldByName("UPDATE")->Value == tr) {

sel=1;

Form4->Bevel1->Visible = true;

Form4->Bevel1->Left = 15;

Form4->Bevel1->Top = 302;

Form4->Bevel2->Visible = true;

Form4->Edit1->Visible = true;

Form4->Edit2->Visible = true;

if (Form3->ADOQuery1->Fields->FieldByName("WHERE")->Value == tr) {

Form4->Bevel3->Visible = true;

Form4->Edit3->Visible = true;

Form4->Edit1->Left = 168;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 161;

Form4->Bevel2->Left = 344;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 500;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 349;

Form4->Bevel3->Left = 863;

Form4->Bevel3->Top = 302;

Form4->Edit3->Left = 1017;

Form4->Edit3->Top = 311;

Form4->Edit3->Width = 304;

}

else {

Form4->Edit3->Visible = false;

Form4->Bevel3->Visible = false;

Form4->Edit1->Left = 169;

Form4->Edit1->Top = 311;

Form4->Edit1->Width = 344;

Form4->Bevel2->Left = 528;

Form4->Bevel2->Top = 302;

Form4->Edit2->Left = 683;

Form4->Edit2->Top = 311;

Form4->Edit2->Width = 639;

}

}

}

void __fastcall TForm4::Timer1Timer(TObject *Sender)

{

ProgressBar1->Position = ProgressBar1->Position + 1;

if(ProgressBar1->Position == 100)

{

Timer1->Enabled = false;

}

}

void __fastcall TForm4::Image13Click(TObject *Sender)

{

Form14->Image1->Picture = Image13->Picture;

Form14->Show();

}

Текст модуля Unit5.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit5.h"

#include "Unit4.h"

#include "Unit2.h"

#include "Unit6.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm5 *Form5;

__fastcall TForm5::TForm5(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm5::Button2Click(TObject *Sender)

{

Form6->Label1->Caption = 1;

Form5->Hide();

Form6->Show();

}

void __fastcall TForm5::Button1Click(TObject *Sender)

{

Form6->Label1->Caption = 0;

Form5->Hide();

Form6->Show();

}

Текст модуля Unit6.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit6.h"

#include "Unit5.h"

#include "Unit4.h"

#include "Unit3.h"

#include "Unit7.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm6 *Form6;

AnsiString tru = "True"; //Для хранения одного из вариантов значения логического поля БД

AnsiString flse = "False"; //Для хранения одного из вариантов значения логического поля БД

AnsiString numb; //Для хранения ID выбранного теста

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

__fastcall TForm6::TForm6(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm6::FormShow(TObject *Sender)

{

if (Label1->Caption == "0") {

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT НаименованиеТемы, СтандартТест FROM Темы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("СтандартТест")->Value == tru)

ComboBox1->Items->Add(Form3->ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value);

Form3->ADOQuery1->Next();

}

}

if (Label1->Caption == "1") {

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT НаименованиеТемы, ЗапросТест FROM Темы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("ЗапросТест")->Value == tru)

ComboBox1->Items->Add(Form3->ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value);

Form3->ADOQuery1->Next();

}

} // Вывод тем, на которые есть ЗапросТесты в ComboBox1;

}

void __fastcall TForm6::Button1Click(TObject *Sender)

{

if (ComboBox1->Text == "")

MessageBox(0,"Вы не выбрали тему для тестирования!","Внимание", MB_OK + MB_ICONWARNING);

else {

AnsiString theme = (ComboBox1->Text); //Сохраняем название выбранной темы

int kolth=0; //Служит для хранения кол-ва тестов на выбранную тему

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

if (Label1->Caption == "0")

Form3->ADOQuery1->SQL->Add("SELECT СтандартТест.IDСтандартТеста, Темы.НаименованиеТемы, СтандартТест.НазваниеТеста FROM Темы, СтандартТест WHERE Темы.IDТемы = СтандартТест.IDТемы");

if (Label1->Caption == "1")

Form3->ADOQuery1->SQL->Add("SELECT ЗапросТест.IDЗапросТеста, Темы.НаименованиеТемы, ЗапросТест.НазваниеТеста FROM Темы, ЗапросТест WHERE Темы.IDТемы = ЗапросТест.IDТемы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value == theme)

kolth++;

Form3->ADOQuery1->Next();

} //считываем кол-во тестов, которые имеются на выбранную тему

if (kolth > 1) { //Операции, которые выполняются если тестов более одного

AnsiString ds = "Вы выбрали тему: «"+theme+"».\nВ базе хранится несколько вариантов тестов по данной теме.\nСейчас программа случайным путем выберет один из них.\nУДАЧИ!";

MessageBox(0,ds.c_str(),"Уведомление", MB_OK + MB_ICONQUESTION); //Вывод итогов выбора

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value == theme)

ListBox1->Items->Add(Form3->ADOQuery1->Fields->FieldByName("НазваниеТеста")->Value);

Form3->ADOQuery1->Next();

}

randomize();

int numbtest = 0+rand()%kolth;

int numbt = (numbtest);

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("НазваниеТеста")->Value == (ListBox1->Items->Strings[numbt])) {

if (Label1->Caption == "0")

numb = (Form3->ADOQuery1->Fields->FieldByName("IDСтандартТеста")->Value);

if (Label1->Caption == "1")

numb = (Form3->ADOQuery1->Fields->FieldByName("IDЗапросТеста")->Value);

}

Form3->ADOQuery1->Next();

}

}

else if (kolth == 1) {

AnsiString ds = "Вы выбрали тему: «"+theme+"».\nУДАЧИ!";

MessageBox(0,ds.c_str(),"Уведомление", MB_OK + MB_ICONQUESTION); //Вывод итогов выбора

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

if (Label1->Caption == "0")

Form3->ADOQuery1->SQL->Add("SELECT IDСтандартТеста, Темы.НаименованиеТемы, СтандартТест.НазваниеТеста FROM Темы, СтандартТест WHERE Темы.IDТемы = СтандартТест.IDТемы And Темы.НаименованиеТемы = '"+ theme + "'");

if (Label1->Caption == "1")

Form3->ADOQuery1->SQL->Add("SELECT ЗапросТест.IDЗапросТеста, Темы.НаименованиеТемы, ЗапросТест.НазваниеТеста FROM Темы, ЗапросТест WHERE Темы.IDТемы = ЗапросТест.IDТемы And Темы.НаименованиеТемы = '"+ theme + "'");

Form3->ADOQuery1->Active = true;

if (Label1->Caption == "0")

numb = (Form3->ADOQuery1->Fields->FieldByName("IDСтандартТеста")->Value);

if (Label1->Caption == "1")

numb = (Form3->ADOQuery1->Fields->FieldByName("IDЗапросТеста")->Value);

}

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

if (Label1->Caption == "0")

Form3->ADOQuery1->SQL->Add("SELECT * FROM СтандартТестВопросы WHERE IDСтандартТеста = "+ numb + "");

if (Label1->Caption == "1")

Form3->ADOQuery1->SQL->Add("SELECT * FROM ЗапросТестВопросы WHERE IDЗапросТеста = "+ numb + "");

Form3->ADOQuery1->Active = true;

ComboBox1->Items->Clear();

ListBox1->Items->Clear();

Form6->Hide();

if (Label1->Caption == "0")

Form7->Show();

if (Label1->Caption == "1")

Form4->Show();

}

}

Текст модуля Unit7.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit7.h"

#include "Unit3.h"

#include "Unit6.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm7 *Form7;

AnsiString standresult;

int resultstand=0;

void__fastcall TForm7::TForm7(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm7::FormShow(TObject *Sender)

{

Form3->ADOQuery1->Fields[0];

AnsiString title;

title = Form3->ADOQuery1->Fields->FieldByName("Вопрос")->Value;

Label1->Caption = (title);

RadioButton1->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант1")->Value);

RadioButton2->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант2")->Value);

RadioButton3->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант3")->Value);

RadioButton4->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант4")->Value);

RadioButton5->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант5")->Value);

RadioButton6->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант6")->Value);

}

void __fastcall TForm7::Button2Click(TObject *Sender)

{

Form7->Hide();

Form6->Show();

}

void __fastcall TForm7::RadioButton1Click(TObject *Sender)

{

if (RadioButton1->Checked) standresult = (RadioButton1->Caption);

}

void __fastcall TForm7::RadioButton2Click(TObject *Sender)

{

if (RadioButton2->Checked) standresult = (RadioButton2->Caption);

}

void __fastcall TForm7::RadioButton3Click(TObject *Sender)

{

if (RadioButton3->Checked) standresult = (RadioButton3->Caption);

}

void __fastcall TForm7::RadioButton4Click(TObject *Sender)

{

if (RadioButton4->Checked) standresult = (RadioButton4->Caption);

}

void __fastcall TForm7::RadioButton5Click(TObject *Sender)

{

if (RadioButton5->Checked) standresult = (RadioButton5->Caption);

}

void __fastcall TForm7::RadioButton6Click(TObject *Sender)

{

if (RadioButton6->Checked) standresult = (RadioButton6->Caption);

}

void __fastcall TForm7::Button1Click(TObject *Sender)

{

if (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value == standresult)

resultstand = resultstand + 1;

Form3->ADOQuery1->Next();

AnsiString title;

title = Form3->ADOQuery1->Fields->FieldByName("Вопрос")->Value;

Label1->Caption = (title);

RadioButton1->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант1")->Value);

RadioButton2->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант2")->Value);

RadioButton3->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант3")->Value);

RadioButton4->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант4")->Value);

RadioButton5->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант5")->Value);

RadioButton6->Caption = (Form3->ADOQuery1->Fields->FieldByName("Вариант6")->Value);

if (Form3->ADOQuery1->Eof) {

ShowMessage ("Тест окончен");

}

}

void __fastcall TForm7::Button3Click(TObject *Sender)

{

Form3->ADOQuery1->Next();

}

Текст модуля Unit8.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit8.h"

#include "Unit9.h"

#include "Unit12.h"

#include "Unit13.h"

#include "Unit15.h"

#include "Unit16.h"

#pragma package(smart_init)

#pragma link "ShockwaveFlashObjects_OCX"

#pragma resource "*.dfm"

TForm8 *Form8;

__fastcall TForm8::TForm8(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm8::Button1Click(TObject *Sender)

{

Form9->Show();

}

void __fastcall TForm8::Button3Click(TObject *Sender)

{

Form8->Hide();

Form12->Show();

}

void __fastcall TForm8::Button6Click(TObject *Sender)

{

Form13->Show();

}

void __fastcall TForm8::Button2Click(TObject *Sender)

{

Form15->Show();

}

void __fastcall TForm8::Button4Click(TObject *Sender)

{

Form16->Show();

}

void __fastcall TForm8::FormShow(TObject *Sender)

{

ShockwaveFlash1->Movie = ExtractFilePath(Application->ExeName) + "Flash/Admin_title.swf";

ShockwaveFlash1->Play();

}

Текст программы Unit9.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit9.h"

#include "Unit8.h"

#include "Unit3.h"

#pragma package(smart_init)

#pragma link "ShockwaveFlashObjects_OCX"

#pragma resource "*.dfm"

TForm9 *Form9;

AnsiString nmbrtz;

AnsiString nmbrthm;

int kolv=0;

__fastcall TForm9::TForm9(TComponent* Owner)

: TForm(Owner)

{

DoubleBuffered = true;

}

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

void __fastcall TForm9::FormShow(TObject *Sender)

{

ShockwaveFlash2->Movie = ExtractFilePath(Application->ExeName) + "Flash/AddZaprosTest.swf";

ShockwaveFlash2->Play();

ShockwaveFlash1->Movie = ExtractFilePath(Application->ExeName) + "Flash/arrow_2.swf";

ShockwaveFlash1->Play();

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT НаименованиеТемы FROM Темы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

ComboBox1->Items->Add(Form3->ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value);

Form3->ADOQuery1->Next();

}

}

void __fastcall TForm9::Button1Click(TObject *Sender)

{

int numbtestz=0; //номер нового ЗапросТеста

int numbthm=0; //для хранения ID выбранной темы

bool sovpd=0;

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT IDЗапросТеста, НазваниеТеста FROM ЗапросТест");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Edit1->Text == Form3->ADOQuery1->Fields->FieldByName("НазваниеТеста")->Value) {

sovpd = 1;

MessageBox(0,"Тест с таким именем уже существует.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

Edit1->Text = "";

}

Form3->ADOQuery1->Next();

}

if (sovpd == 0) {

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

numbtestz++;

Form3->ADOQuery1->Next();

}

numbtestz++;

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT IDТемы, НаименованиеТемы FROM Темы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

if (Form3->ADOQuery1->Fields->FieldByName("НаименованиеТемы")->Value == ComboBox1->Text)

numbthm = (Form3->ADOQuery1->Fields->FieldByName("IDТемы")->Value);

Form3->ADOQuery1->Next();

}

nmbrtz = (numbtestz);

nmbrthm = (numbthm);

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("INSERT INTO ЗапросТест (IDЗапросТеста, IDТемы, НазваниеТеста) VALUES ("+ nmbrtz +", "+ nmbrthm +", '"+ Edit1->Text +"')");

Form3->ADOQuery1->ExecSQL();

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("UPDATE Темы SET Темы.ЗапросТест = True WHERE Темы.IDТемы = "+ nmbrthm +"");

Form3->ADOQuery1->ExecSQL();

ComboBox1->Enabled = false;

Edit1->Enabled = false;

Button1->Enabled = false;

Image1->Visible = false;

Image2->Visible = true;

Image3->Visible = true;

Image4->Visible = true;

Image5->Visible = false;

ShockwaveFlash1->GotoFrame(1);

ShockwaveFlash1->Play();

ShockwaveFlash1->Top = 225;

GroupBox1->Enabled = true;

GroupBox2->Enabled = true;

GroupBox3->Enabled = true;

Label28->Enabled = true;

Edit5->Enabled = true;

Button2->Enabled = true;

}

}

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

void __fastcall TForm9::Button2Click(TObject *Sender)

{

int numbtestzv=0; //номер нового ЗапросВопроса

AnsiString insert, select, delet, update, from, where;

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT IDЗапросВопроса FROM ЗапросТестВопросы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->First();

while (!Form3->ADOQuery1->Eof) {

Form3->ADOQuery1->Fields[0];

numbtestzv++;

Form3->ADOQuery1->Next();

}

numbtestzv++;

if (CheckBox1->Checked) insert = "True"; else insert = "False";

if (CheckBox2->Checked) select = "True"; else select = "False";

if (CheckBox3->Checked) delet = "True"; else delet = "False";

if (CheckBox4->Checked) update = "True"; else update = "False";

if (CheckBox5->Checked) where = "True"; else where = "False";

AnsiString nmbrzprsvp = (numbtestzv);

AnsiString question = (Edit2->Text);

AnsiString uslovie = (Edit4->Text);

bool qv=0, usl=0, otv=0, op=0, cenvopr=0;

if (uslovie == "")

MessageBox(0,"Вы не указали главное условие. Пожалуйста, заполните необходимые поля.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

else

usl = 1;

if (question == "")

MessageBox(0,"Вы не задали вопрос. Пожалуйста, заполните необходимые поля.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

else

qv = 1;

if (Edit3->Text == "")

MessageBox(0,"Вы не указали верный ответ. Пожалуйста, заполните необходимые поля.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

else

otv = 1;

if (Edit5->Text == "")

MessageBox(0,"Вы не указали цену вопроса. Пожалуйста, заполните необходимые поля.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

else

cenvopr = 1;

if (insert == "False" && select == "False" && delet == "False" && update == "False")

MessageBox(0,"Вы не указали операторы, используемые в запросе. Пожалуйста, заполните необходимые поля.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

else

op = 1;

if (qv == 1 && otv == 1 && cenvopr == 1 && op == 1 && usl == 1)

{

kolv = kolv+1;

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("INSERT INTO ЗапросТестВопросы (IDЗапросВопроса, IDТемы, IDЗапросТеста, Вопрос, ВерныйОтвет, ЦенаВопроса, ГлавноеУсловие)");

Form3->ADOQuery1->SQL->Add(" VALUES ("+ nmbrzprsvp +", "+ nmbrthm +", "+ nmbrtz +", '"+ Edit2->Text +"', '"+ Edit3->Text +"', '"+ Edit5->Text +"', '"+ Edit4->Text +"')");

Form3->ADOQuery1->ExecSQL();

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("UPDATE ЗапросТестВопросы SET ЗапросТестВопросы.INSERT = "+ insert +", ЗапросТестВопросы.SELECT = "+ select +", ЗапросТестВопросы.DELETE = "+ delet +", ЗапросТестВопросы.UPDATE = "+ update +", ЗапросТестВопросы.WHERE = "+ where +" WHERE ЗапросТестВопросы.IDЗапросВопроса = "+ nmbrzprsvp +"");

Form3->ADOQuery1->ExecSQL();

if (Image6->Visible == true) {

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT * FROM ЗапросТестВопросы");

Form3->ADOQuery1->Active = true;

Form3->ADOQuery1->Last();

Form3->ADOQuery1->Edit();

TMemoryStream* strm = new TMemoryStream();

Image6->Picture->Graphic->SaveToStream(strm);

((TGraphicField*) Form3->ADOQuery1->FieldByName("Приложение"))->LoadFromStream(strm);

delete strm;

Form3->ADOQuery1->Post();

}

Form3->ADOQuery1->Active = false;

Form3->ADOQuery1->SQL->Clear();

Form3->ADOQuery1->SQL->Add("SELECT ВерныйОтвет, ЦенаВопроса FROM ЗапросТестВопросы WHERE IDЗапросВопроса = "+ nmbrzprsvp +"");

Form3->ADOQuery1->Active = true;

if (kolv == 1) {

Label12->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label34->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 2) {

Label13->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label35->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 3) {

Label14->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label36->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 4) {

Label15->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label37->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 5) {

Label16->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label38->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 6) {

Label17->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label39->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 7) {

Label18->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label40->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 8) {

Label19->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label41->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 9) {

Label20->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label42->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

}

if (kolv == 10) {

Label21->Caption = (Form3->ADOQuery1->Fields->FieldByName("ВерныйОтвет")->Value);

Label43->Caption = (Form3->ADOQuery1->Fields->FieldByName("ЦенаВопроса")->Value);

float d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,maxball;

d1=Label34->Caption.ToDouble();

d2=Label35->Caption.ToDouble();

d3=Label36->Caption.ToDouble();

d4=Label37->Caption.ToDouble();

d5=Label38->Caption.ToDouble();

d6=Label39->Caption.ToDouble();

d7=Label40->Caption.ToDouble();

d8=Label41->Caption.ToDouble();

d9=Label42->Caption.ToDouble();

d10=Label43->Caption.ToDouble();

maxball = d1+d2+d3+d4+d5+d6+d7+d8+d9+d10;

Label33->Caption = (maxball);

// Label32->Visible = true;

Label44->Visible = true;

Label33->Visible = true; //вывод максимальной оценки за тест

Button4->Visible = true;

Button5->Visible = true;

GroupBox1->Enabled = false;

GroupBox2->Enabled = false;

GroupBox3->Enabled = false;

Label28->Enabled = false;

Edit5->Enabled = false;

Button2->Enabled = false;

Image7->Visible = true;

Edit4->Text = "";

Image4->Visible = false;

Image5->Visible = true;

ShockwaveFlash1->Visible = false;

}

Edit2->Text = "";

Edit3->Text = "";

Edit5->Text = "";

CheckBox1->Checked = false;

CheckBox2->Checked = false;

CheckBox3->Checked = false;

CheckBox4->Checked = false;

CheckBox5->Checked = false;

//Image6->Picture->Assign(0);

Image6->Visible = false;

}

}

void __fastcall TForm9::CheckBox1Click(TObject *Sender)

{

if (CheckBox1->Checked)

{

if (CheckBox2->Checked || CheckBox3->Checked || CheckBox4->Checked)

{

CheckBox1->Checked = false;

MessageBox(0,"Нельзя использовать несколько операторов одного и того же типа в одном вопросе.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

}

}

}

void __fastcall TForm9::CheckBox2Click(TObject *Sender)

{

if (CheckBox2->Checked)

{

if (CheckBox1->Checked || CheckBox3->Checked || CheckBox4->Checked)

{

CheckBox2->Checked = false;

MessageBox(0,"Нельзя использовать несколько операторов одного и того же типа в одном вопросе.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

}

}

}

void __fastcall TForm9::CheckBox3Click(TObject *Sender)

{

if (CheckBox3->Checked)

{

if (CheckBox1->Checked || CheckBox2->Checked || CheckBox4->Checked)

{

CheckBox3->Checked = false;

MessageBox(0,"Нельзя использовать несколько операторов одного и того же типа в одном вопросе.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

}

}

}

void __fastcall TForm9::CheckBox4Click(TObject *Sender)

{

if (CheckBox4->Checked)

{

if (CheckBox1->Checked || CheckBox2->Checked || CheckBox3->Checked)

{

CheckBox4->Checked = false;

MessageBox(0,"Нельзя использовать несколько операторов одного и того же типа в одном вопросе.","Будьте внимательны!", MB_OK +MB_TOPMOST+ MB_ICONWARNING);

}

}

}

void __fastcall TForm9::ComboBox1Change(TObject *Sender)

{

if (ComboBox1->Text != "" && Edit1->Text != "")

Button1->Visible = true;

}

void __fastcall TForm9::Edit1Change(TObject *Sender)

{

if (ComboBox1->Text != "" && Edit1->Text != "")

Button1->Visible = true;

else

Button1->Visible = false;

}

void __fastcall TForm9::Button3Click(TObject *Sender)

{

if (OpenPictureDialog1->Execute());

{

AnsiString CurrentFile=OpenPictureDialog1->FileName;

Image6->Picture->LoadFromFile(CurrentFile);

Image6->Visible = true;

}

}

void __fastcall TForm9::Button4Click(TObject *Sender)

{

kolv = 0;

Image7->Visible = false;

ComboBox1->Enabled = true;

ComboBox1->Text = "";

Edit1->Enabled = true;

Button1->Enabled = true;

Image1->Visible = true;

Image2->Visible = false;

Image3->Visible = false;

Image4->Visible = false;

Image5->Visible = true;


Подобные документы

  • Выполнение операций, хранения, редактирования, систематизации данных. Рассмотрение подсистем разрабатываемой системы управления базами данных продуктового магазина. Разработка алгоритма функционирования системы и приложения для работы с базой данных.

    курсовая работа [399,1 K], добавлен 26.08.2019

  • Классификация баз данных. Выбор системы управления базами данных для создания базы данных в сети. Быстрый доступ и получение конкретной информации по функциям. Распределение функций при работе с базой данных. Основные особенности иерархической модели.

    отчет по практике [1,2 M], добавлен 08.10.2014

  • Разработка приложения для работы с базой данных, с использованием объектно-ориентированного и визуального программирования. Проектирование физической структуры базы данных. Программная реализация, процесс взаимодействия пользователя с приложениями.

    курсовая работа [1,5 M], добавлен 31.01.2016

  • Схема взаимодействия подразделений предприятия. Выбор и обоснование технологии проектирования базы данных. Описание объектов базы данных. Разработка запросов на выборку, изменение, обновление и удаление данных. Интерфейсы взаимодействия с базой данных.

    курсовая работа [1,4 M], добавлен 25.05.2023

  • Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.

    курсовая работа [7,8 M], добавлен 13.02.2023

  • Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.

    курсовая работа [4,3 M], добавлен 30.06.2015

  • Проектирование базы данных Access. Система управления базами данных. Создание и обслуживание базы данных, обеспечение доступа к данным и их обработка. Постановка задач и целей, основных функций, выполняемых базой данных. Основные виды баз данных.

    лабораторная работа [14,4 K], добавлен 16.11.2008

  • Появление системы управления базами данных. Этапы проектирования базы данных "Строительная фирма". Инфологическая и даталогическая модель данных. Требования к информационной и программной совместимости для работы с базой данных "Строительная фирма".

    курсовая работа [93,0 K], добавлен 31.03.2010

  • Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.

    курсовая работа [1,7 M], добавлен 04.06.2015

  • Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.

    курсовая работа [1,5 M], добавлен 23.01.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.