Разработка обучающего блока по дисциплине "Базы данных и системы управления базами данных"
Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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