Диплом: Автоматизация процесса контроля знаний учащихся ГБОУ города Москвы школы №656 А.С. Макаренко

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
123
AnsiString UserAnswer; // данный пользователем ответ в поле ввода
// int NUserAnswer; // выбранный пользователем ответ в радиокнопках или
флажках
__fastcall TQuestion(int, AnsiString, TPicture*, int);
__fastcall ~TQuestion();
int __fastcall LoadAnswers(TQuery*); // загрузить ответы из БД
TAnswer* __fastcall GetAnswer(int); // вернуть ответ с порядковым номером
TAnswer* __fastcall GetCorrectAnswer(); // вернуть правильный ответ
bool __fastcall HasAnswer(); // был дан ответ
int __fastcall Type(); // тип вопроса: 1 - строка, 2 - радиокнопки, 3 -
флажки
}; // TQuestion
//----------------------------------------------------------------------------
// класс теста как набора вопросов
class TTest
{
private:
TQuery* QueryTmp; // рабочая лошадка
TQuery* QueryTmp1; // рабочая лошадка
int __fastcall CheckTextAnswer(AnsiString, AnsiString); // сравнить две
текстовых строки
public:
// характеристики теста
int ID; // ID из базы данных
int IDTema; // ID темы из базы данных
int IDDisc; // ID дисциплины из базы данных
int TimeLimit; // лимив времени в минутах
double KHard; // коэффициент сложности
bool Navigation; // разрешить навигацию
bool AllRight; // все ответы теста правильные
bool Random; // случайный выбор вопросов
bool ShowResult; // отображать результаты
bool Opros; // признак тест-опрос
bool OnlyAnswered; // учитывать при подсчтете результата только отвеченные
вопросы
bool AlwaysJ; // в любом случае записать результаты теста
bool PrintInter; // выводить вместе с вопросами теста и их интерпритацию в
том числе при печати (режим обучения)
AnsiString Name; // имя теста
AnsiString FullName; // полное имя теста дисциплина/тема/имятеста
AnsiString DiscName; // имя дисциплина
124
AnsiString TemaName; // имя темы
TDateTime Begin; // дата и время начала теста
TDateTime End; // дата и время окончания
// вопросы
TList* Questions; // список вопросов теста
int CountQ; // количество вопросов теста
int CurrentQ; // порядковый номер текущего вопроса
int CorrectA; // кол-во правилбных ответов
int CountQA; // кол-во ответов на которые даны ответы
double Result; // балл теста
TList* RandomList; // список порядковых номеров случайно заданных вопросов
__fastcall TTest(int); // конструктор
__fastcall ~TTest(); // деструктор - очистка памяти
int __fastcall LoadFromBD(); // загрузить тест из базы данных
int __fastcall LoadQuests(); // загрузить вопросы теста из БД
TQuestion* __fastcall GetQuest(int); // вернуть вопрос
void __fastcall IncCurrentQ(int); // увеличить номер текущего вопроса
void __fastcall AddRandom(); // занести в список уже заданных случайно
вопросов
bool __fastcall LastQuest(); // проверить что текущйи вопрос в тесте -
последний
double __fastcall Compute(); // рассчитать результаты теста
// экспорт
bool __fastcall Export(AnsiString); // экспотрировать тест и все что с ним
связано
void __fastcall DropTable(AnsiString); // удалить таблицу
bool __fastcall CreatTableTest(AnsiString); // создать структуру таблицы тестов
bool __fastcall CreatTableTema(AnsiString); // создать структуру таблицы тем
bool __fastcall CreatTableDisc(AnsiString); // создать структуру таблицы
дисциплин
bool __fastcall CreatTableQuest(AnsiString); // создать структуру таблицы
вопросов
bool __fastcall CreatTableAnswer(AnsiString); // создать структуру таблицы
ответов
bool __fastcall CreatTableInter(AnsiString); // создать структуру таблицы
интрепритации
int __fastcall ExportTableTest(AnsiString, int*); // выгрузить таблицу тестов
int __fastcall ExportTableTema(AnsiString, int); // выгрузить таблицу тем
bool __fastcall ExportTableDisc(AnsiString, int); // выгрузить таблицу
дисциплин
bool __fastcall ExportTableQuest(AnsiString, int); // выгрузить таблицу вопросов
bool __fastcall ExportTableAnswer(AnsiString, int); // выгрузить таблицу ответов
125
bool __fastcall ExportTableInter(AnsiString, int, int, int); // выгрузить таблицу
интрепритации
bool __fastcall Import(AnsiString, int); // импорт содержимого теста - вопросов и
ответов
bool __fastcall ImportAnswers(AnsiString, int, int); // импорт ответов
bool __fastcall Delete(); // удалить тест
AnsiString __fastcall GetInter(double); // вернуть для этого тесту интерпритацию
для заданного результата
}; // TTest
//---------------------------------------------------------------------------
// класс узла дерева
class TNodeType
{
public:
int Type; // тип узла
int ID; // идентификатор
__fastcall TNodeType(int t, int i) // тип, ИД
{ Type = t; ID = i; };
};
//---------------------------------------------------------------------------
#endif
FormExportU
//---------------------------------------------------------------------------
#ifndef FormExportUH
#define FormExportUH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <FileCtrl.hpp>
#include <DB.hpp>
#include <DBTables.hpp>
126
//---------------------------------------------------------------------------
class TFormExport : public TForm
{
__published: // IDE-managed Components
TDirectoryListBox *DirectoryListBox1;
TDriveComboBox *DriveComboBox1;
TBitBtn *BitBtnExport;
TQuery *QueryTmp;
TLabel *Label1;
TMemo *Memo;
TBitBtn *BitBtn1;
void __fastcall BitBtnExportClick(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
private: // User declarations
int DiscID; // ИД дисциплины
int TemaID; // ИД темы
int TestID; // ИД теста
AnsiString ExportDir; // каталог экспорта
bool Expimp; // признак экспорта или импорта
void __fastcall Export(); // Экспорт
bool __fastcall ExportDisc(); // выгрузить дисциплину
bool __fastcall ExportTema(); // выгрузить тему
void __fastcall DropTable(AnsiString); // удалить таблицу
void __fastcall Import(); // Импорт
bool __fastcall ImportDisc(); // загрузить дисциплины
bool __fastcall ImportTems(int, int); // загрузить темы
bool __fastcall ImportTests(int, int); // загрузить тесты
bool __fastcall ImportInter(int, int, int, int, int, int); // загрузить интерпритации
public: // User declarations
__fastcall TFormExport(TComponent* Owner);
int __fastcall ShowModal(bool, int, int, int, AnsiString);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormExport *FormExport;
//---------------------------------------------------------------------------
#endif
FormIntel
//---------------------------------------------------------------------------
127
#ifndef FormInterUH
#define FormInterUH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Buttons.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <DBTables.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TFormInter : public TForm
{
__published: // IDE-managed Components
TQuery *QueryInter;
TDataSource *DataSourceInter;
TTable *TableDisc;
TPanel *Panel1;
TLabel *Label1;
TLabel *LabelDisc;
TLabel *Label2;
TLabel *LabelTema;
TLabel *Label3;
TLabel *LabelTest;
TPanel *Panel2;
TDBGrid *DBGridInter;
TPanel *Panel3;
TLabel *Label4;
TEdit *Res1;
TLabel *Label5;
TEdit *Res2;
TLabel *Label6;
TUpDown *UpDown1;
TUpDown *UpDown2;
TPanel *Panel4;
TMemo *MemoInter;
TPanel *PanelButtons;
TPanel *PanelClose;
TTable *TableTema;
TTable *TableTest;
128
TQuery *QueryTmp;
TBitBtn *BitBtnEdit;
TBitBtn *BitBtnUndo;
TBitBtn *BitBtnAdd;
TBitBtn *BitBtnDel;
TBitBtn *BitBtnDelAll;
TBitBtn *BitBtnClose;
TFloatField *QueryInterMINRES;
TFloatField *QueryInterMAXRES;
TMemoField *QueryInterINTER;
TStringField *QueryInterINTERSTR;
TIntegerField *QueryInterID;
TIntegerField *QueryInterIDUSER;
TIntegerField *QueryInterIDDISC;
TIntegerField *QueryInterIDTEMA;
TIntegerField *QueryInterIDTEST;
TBitBtn *BitBtnSelect;
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall FormResize(TObject *Sender);
void __fastcall BitBtnCloseClick(TObject *Sender);
void __fastcall DataSourceInterDataChange(TObject *Sender,
TField *Field);
void __fastcall BitBtnAddClick(TObject *Sender);
void __fastcall BitBtnDelClick(TObject *Sender);
void __fastcall BitBtnEditClick(TObject *Sender);
void __fastcall BitBtnUndoClick(TObject *Sender);
void __fastcall BitBtnDelAllClick(TObject *Sender);
void __fastcall QueryInterCalcFields(TDataSet *DataSet);
void __fastcall BitBtnSelectClick(TObject *Sender);
private: // User declarations
TLocateOptions SearchOptions;
int DiscID;
int TemaID;
int TestID;
double* SelectedMinRes;
void __fastcall CreateSQL(int);
int __fastcall CheckDiapazon(double, double, int);
public: // User declarations
__fastcall TFormInter(TComponent* Owner);
void __fastcall Prepear(int, int, int, double*); // подготовить форму
int __fastcall Adapt(); // подогнать форму под размер главной формы
};
//---------------------------------------------------------------------------
129
extern PACKAGE TFormInter *FormInter;
//---------------------------------------------------------------------------
#endif
FormPermisU
//---------------------------------------------------------------------------
#ifndef FormPermisUH
#define FormPermisUH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <DB.hpp>
#include <DBTables.hpp>
#include <ImgList.hpp>
#include <Buttons.hpp>
//---------------------------------------------------------------------------
class TFormPermis : public TForm
{
__published: // IDE-managed Components
TTreeView *TreeDisc;
TPanel *Panel1;
TQuery *QueryDisc;
TQuery *QueryTema;
TQuery *QueryTest;
TImageList *ImageListDisc;
TTreeView *TreeView1;
TQuery *QueryPravo;
TQuery *QueryTmp;
TPanel *Panel2;
TLabel *Label1;
TLabel *LabelFIO;
TPanel *Panel3;
TBitBtn *BitBtnNo;
TBitBtn *BitBtnYes;
TPanel *Panel4;
TBitBtn *BitBtnClose;
void __fastcall TreeView1Click(TObject *Sender);
130
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall BitBtnYesClick(TObject *Sender);
void __fastcall BitBtnNoClick(TObject *Sender);
void __fastcall TreeDiscChanging(TObject *Sender, TTreeNode *Node,
bool &AllowChange);
void __fastcall BitBtnCloseClick(TObject *Sender);
private: // User declarations
int TypeUO; // 2 - отдел, 1 - пользователь
int ID_UO; // ИД отдела или пользователя
void __fastcall RefreshTree(); // перестроить дерево целиком
void __fastcall BuildTree(); // построить дерево предметов
void __fastcall BuildSubTreeTema(int, TTreeNode*, int); // построить поддрево
тем
void __fastcall BuildSubTreeTest(int, TTreeNode*, int); // построить пддерево
тестов
void __fastcall GetStopped(); // вычленить в БД запрещенные записи
int __fastcall IsStopped(int, int);
TTreeNode* _fastcall FindNode(TTreeView*, int, int); // найти узел в дереве
bool __fastcall DeleteRecord(int, int); // удалить из таблицы запись
bool __fastcall AddRecord(int, int); // добавить запись в таблицу
public: // User declarations
__fastcall TFormPermis(TComponent* Owner);
void __fastcall Prepear(int, int); // при открытии формы
void __fastcall Adapt(); // подогнать форму под размер главной формы
};
//---------------------------------------------------------------------------
extern PACKAGE TFormPermis *FormPermis;
//---------------------------------------------------------------------------
#endif
FormPrintResult
//---------------------------------------------------------------------------
#ifndef FormPrintResult1UH
#define FormPrintResult1UH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
131
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <QRCtrls.hpp>
#include <QuickRpt.hpp>
//---------------------------------------------------------------------------
class TFormPrintResult1 : public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep;
TQRBand *QRBand1;
TQRLabel *QRLabel1;
TQRLabel *QRLabelUser;
TQRLabel *QRLabelDiscName;
TQRLabel *QRLabelDate;
TQRLabel *QRLabelTime;
TQRLabel *QRLabelHard;
TQRLabel *QRLabelLimitTime;
TQRLabel *QRLabelCountQ;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRLabel *QRLabel4;
TQRLabel *QRLabel5;
TQRLabel *QRLabel6;
TQRLabel *QRLabel7;
TQRLabel *QRLabel8;
TQRLabel *QRLabel9;
TQRLabel *QRLabelCountQA;
TQRBand *QRBand3;
TQRLabel *QRLabel10;
TQRLabel *QRLabel16;
TQRLabel *QRLabel17;
TQRBand *QRBand4;
TQRDBText *QRDBText1;
TQRDBText *QRDBText5;
TQRDBText *QRDBText7;
TQRLabel *QRLabelTestName;
TQRLabel *QRLabelTemaName;
private: // User declarations
public: // User declarations
__fastcall TFormPrintResult1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormPrintResult1 *FormPrintResult1;
132
//---------------------------------------------------------------------------
#endif
FormPrintStatistic
//---------------------------------------------------------------------------
#ifndef FormPrintStatistic1UH
#define FormPrintStatistic1UH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <QRCtrls.hpp>
#include <QuickRpt.hpp>
//---------------------------------------------------------------------------
class TFormPrintStatistic1 : public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep;
TQRBand *QRBand1;
TQRLabel *QRLabel1;
TQRLabel *QRLabel2;
TQRLabel *QRLabelDateBegin;
TQRLabel *QRLabel3;
TQRLabel *QRLabelDateEnd;
TQRLabel *QRLabel5;
TQRLabel *QRLabelUser;
TQRLabel *QRLabel6;
TQRLabel *QRLabelDisc;
TQRLabel *QRLabel9;
TQRLabel *QRLabelTest;
TQRLabel *QRLabel11;
TQRLabel *QRLabelKHardBegin;
TQRLabel *QRLabel13;
TQRLabel *QRLabelKHardEnd;
TQRLabel *QRLabel4;
TQRLabel *QRLabelTema;
TQRBand *QRBand2;
TQRLabel *QRLabel8;

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

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