Экспертные системы тестирования

Назначение и архитектура экспертных систем, их применение в сфере образования. Экспертные системы тестирования, принципы их функционирования. Инструментальные средства создания приложения и разработка программы тестирования. Описание программы, листинг.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.05.2012
Размер файла 706,4 K

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

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

45. Каратыгин С, Тихонов А,, Долголаптев В. Базы данных: простейшие средства обработки информации, электронные таблицы, системы управления базами данных. В 2-х томах. - М.: АВF, 1995.

46. Коновалова Н.В., Капралов Е.Г. Введение в ГИС. - Петрозаводск: Петрозаводский госуниверситет, 1995.

47. Крамм Р. Системы управления базами данных dBASE II и dBASE III для персональных компьютеров. - М.: Финансы и статистика, 1988.

48. САПР. Системы автоматизированного проектирования / Под ред. И.П. Норенкова. - Минск: Высшая школа, 1987.

49. Свириденко С.С. Современные информационные технологии. - М.: Радио и связь, 1989.

50. Советов Б. Я, АСУ. Введение в специальность. - М.; Высшая школа, 1989.

51. Советов Б.Я. Информационная технология. - М.: Высшая школа, 1992.

52. Фурунжиев Р.И., ГугляВ.А. САПР, или как ЭВМ помогает конструктору. - Минск: Высшая школа, 1987.

53. Электронная почта в системе МS-DOS. Официальное руководство компании Релком. - М., 1995.

54. Журнал "Информатика и образование", 2005 г.

55. Журнал "Педагогическая информатика", 2006 г.

Приложение

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, ExtCtrls, Menus, StdCtrls, Buttons,

AxCtrls, OleCtrls, DBOleCtl, RichTextLib_TLB, jpeg, Grids,

DBGrids, ToolWin, Registry, Spin, IniFiles, DB, DBTables, ImgList,

DBCtrls, Mask,ExcelXP,COMObj, FileCtrl;

type

TForm1 = class (TForm)

StatusBar1: TStatusBar;

Panel1: TPanel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

Notebook1: TNotebook;

GroupBox1: TGroupBox;

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

BitBtn4: TBitBtn;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

FileListBox1: TFileListBox;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

GroupBox4: TGroupBox;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

GroupBox5: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

RadioButton5: TRadioButton;

Bevel1: TBevel;

Bevel2: TBevel;

Bevel3: TBevel;

BitBtn9: TBitBtn;

BitBtn11: TBitBtn;

Bevel4: TBevel;

Bevel5: TBevel;

Bevel6: TBevel;

GroupBox6: TGroupBox;

Label1: TLabel;

DBGrid1: TDBGrid;

GroupBox7: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Timer1: TTimer;

ListBox1: TListBox;

ListBox2: TListBox;

ListBox3: TListBox;

ListBox4: TListBox;

ListBox5: TListBox;

ListBox6: TListBox;

SpinEdit1: TSpinEdit;

SpinEdit2: TSpinEdit;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

CheckBox5: TCheckBox;

ProgressBar1: TProgressBar;

Edit3: TEdit;

GroupBox8: TGroupBox;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

BitBtn10: TBitBtn;

BitBtn12: TBitBtn;

Panel5: TPanel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit4: TEdit;

Button1: TButton;

Edit5: TEdit;

Table1: TTable;

DataSource1: TDataSource;

ImageList1: TImageList;

Panel6: TPanel;

BitBtn13: TBitBtn;

BitBtn14: TBitBtn;

BitBtn15: TBitBtn;

DBMemo1: TDBMemo;

DBMemo2: TDBMemo;

DBMemo3: TDBMemo;

GroupBox9: TGroupBox;

DBNavigator1: TDBNavigator;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

PopupMenu1: TPopupMenu;

N3: TMenuItem;

ProgressBar2: TProgressBar;

Panel7: TPanel;

N4: TMenuItem;

Panel8: TPanel;

BitBtn16: TBitBtn;

Label25: TLabel;

Edit6: TEdit;

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn3Click (Sender: TObject);

procedure BitBtn4Click (Sender: TObject);

procedure FileListBox1Click (Sender: TObject);

procedure BitBtn9Click (Sender: TObject);

procedure BitBtn11Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure BitBtn5Click (Sender: TObject);

procedure BitBtn6Click (Sender: TObject);

procedure BitBtn7Click (Sender: TObject);

procedure BitBtn8Click (Sender: TObject);

procedure RadioButton1Click (Sender: TObject);

procedure RadioButton2Click (Sender: TObject);

procedure RadioButton3Click (Sender: TObject);

procedure RadioButton4Click (Sender: TObject);

procedure RadioButton5Click (Sender: TObject);

procedure Timer1Timer (Sender: TObject);

procedure BitBtn10Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure BitBtn14Click (Sender: TObject);

procedure BitBtn13Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure BitBtn15Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure BitBtn16Click (Sender: TObject);

procedure BitBtn12Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

procedure zagruzka1;

procedure vigruzka1;

procedure Erste;

function RandomChisla (rez: integer): string;

procedure Sluchai;

procedure Nex;

procedure prew;

procedure FirstTest;

procedure start;

procedure First;

procedure prowerka;

procedure soedenenie;

procedure AddRecord;

procedure ShowTime;

procedure ocenka;

// procedure SendtoExcel (ShFile: String);

var

Form1: TForm1;

min,sec: integer;

RegFile: TRegIniFile;

IniFile: TIniFile;

s: string;

const

StrKey: string = 'Software\TestingS';

implementation

uses Unit2;

{$R *. dfm}

// Процедура создания отчета

procedure SendtoExcel (ShFile: String);

Var

ExcelApp, Workbook: Variant;

i: integer;

s1,s2,s3,s4,s5,s6,s7: string;

Begin

// Создание Excel

try

ExcelApp: = CreateOleObject ('Excel. Application');

except

raise Exception. Create ('Не могу запустить Excel');

end;

ExcelApp: = CreateOleObject ('Excel. Application');

// Отключаем реакцию Excel на события, чтобы ускорить вывод информации

ExcelApp. Application. EnableEvents: = false;

// Создаем Книгу (Workbook)

// Если заполняем шаблон, то

Workbook: = ExcelApp. WorkBooks. Add (ShFile);

// Выбираем первую WorkBook

WorkBook: = ExcelApp. WorkBooks. Item [1];

// переходим на последшюю запись в таблицы

form1. Table1. Last;

// делаем прогрес видимым

form1. ProgressBar2. Visible: =true;

form1. ProgressBar2. Max: =form1. Table1. RecordCount-1;

// создаем цикл перемещения по базе

for i: =form1. Table1. RecordCount-1 downto 0 do

begin

form1. ProgressBar2. Position: =i;

// ячейки excel присваиваем поле базы данных

s1: =form1. Table1. FieldByName ('Fam'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,1]: =s1;

s2: =form1. Table1. FieldByName ('Group'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,2]: =s2;

s3: =form1. Table1. FieldByName ('Data'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,3]: =s3;

s4: =form1. Table1. FieldByName ('All'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,4]: =s4;

s5: =form1. Table1. FieldByName ('Pr'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,5]: =s5;

s6: =form1. Table1. FieldByName ('Nep'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,6]: =s6;

s7: =form1. Table1. FieldByName ('Oc'). AsString;

excelapp. WorkBooks [1]. WorkSheets [1]. Cells [i+3,7]: =s7;

excelapp. WorkSheets [1]. Cells [i+3,1]. Borders. LineStyle: = xlContinuous;

excelapp. WorkSheets [1]. Cells [i+3,2]. Borders. LineStyle: = xlContinuous;

excelapp. WorkSheets [1]. Cells [i+3,3]. Borders. LineStyle: = xlContinuous;

excelapp. WorkSheets [1]. Cells [i+3,4]. Borders. LineStyle: = xlContinuous;

excelapp. WorkSheets [1]. Cells [i+3,5]. Borders. LineStyle: = xlContinuous;

excelapp. WorkSheets [1]. Cells [i+3,6]. Borders. LineStyle: = xlContinuous;

excelapp. WorkSheets [1]. Cells [i+3,7]. Borders. LineStyle: = xlContinuous;

form1. Table1. Prior;

end;

form1. ProgressBar2. Visible: =false;

// Делаем Excel видимым

ExcelApp. Visible: = True;

end;

// Процедура сохранения настроек программы

procedure SaveAs;

var

Ini: Tinifile; // необходимо создать объект, чтоб потом с ним работать

begin

// создали файл в директории программы

Ini: =TiniFile. Create (extractfilepath (paramstr (0)) +'SaveAS. ini');

Ini. WriteString ('Nom','Time',form1. SpinEdit1. Text);

Ini. WriteString ('Nom','Wopr',form1. SpinEdit2. Text);

Ini. WriteString ('Nom','Pass',form1. Edit6. Text);

Ini. Free;

end;

procedure ReadAS;

var

Ini: Tinifile;

begin

// открываем файл

Ini: =TiniFile. Create (extractfilepath (paramstr (0)) +'SaveAs. ini');

Form1. SpinEdit1. Text: =Ini. ReadString ('Nom','Time','0');

Form1. SpinEdit2. Text: =Ini. ReadString ('Nom','Wopr','0');

Form1. Label11. Caption: =Ini. ReadString ('Nom','Time','0') +' мин';

Form1. Label12. Caption: =Ini. ReadString ('Nom','Wopr','0');

Form1. Edit6. Text: =Ini. ReadString ('Nom','Pass','0');

Ini. Free;

end;

// Процедура формирования оценки

procedure ocenka;

var

i,j,k,l,m,n: integer;

oc: real;

begin

i: =strtoint (form1. StatusBar1. Panels. Items [1]. Text); // всего тестов

j: =form1. ListBox6. Count; // колличество правельных

oc: =round (j*100/i);

for k: =0 to 35 do

begin

if oc = k then

form1. Label14. Caption: ='2';

end;

for l: =36 to 69 do

begin

if oc = l then

form1. Label14. Caption: ='3';

end;

for m: =70 to 89 do

begin

if oc = m then

form1. Label14. Caption: ='4';

end;

for n: =90 to 100 do

begin

if oc = n then

form1. Label14. Caption: ='5';

end;

end;

// Процедура подщета времени тестирования

procedure ShowTime;

var

buf: string [20];

begin

// минуты и секунды выводим двумя цифрами

if min < 10 then

buf: = '0' + IntToStr (min) + ': '

else

buf: = IntToStr (min) + ': ';

if sec < 10 then

buf: = buf + '0' + IntToStr (sec)

else

buf: = buf + IntToStr (sec);

form1. StatusBar1. Panels. Items [5]. Text: =buf;

end;

// Процедура забивания базы данных

procedure AddRecord;

begin

form1. Table1. Cancel;

form1. Table1. Insert;

form1. Table1. Append;

form1. Table1. FieldByName ('Fam'). AsString: =Form1. LabeledEdit1. Text;

form1. Table1. FieldByName ('Group'). AsString: =Form1. LabeledEdit2. Text;

form1. Table1. FieldByName ('Data'). AsString: =DateToStr (now);

form1. Table1. FieldByName ('Pr'). AsInteger: =form1. ListBox6. Items. Count;

// form5. Label3. Caption: ='';

form1. Table1. FieldByName ('All'). AsInteger: =strtoint (form1. SpinEdit2. Text);

form1. Table1. FieldByName ('Nep'). AsInteger: =strtoint (form1. SpinEdit2. Text) - form1. ListBox6. Items. Count;

form1. Table1. FieldByName ('File'). AsString: =form1. ListBox5. Items. Text;

form1. Table1. FieldByName ('Prav'). AsString: =form1. ListBox6. Items. Text;

form1. Table1. FieldByName ('File2'). AsString: =form1. ListBox2. Items. Text;

form1. Table1. FieldByName ('Oc'). AsInteger: =strtoint (form1. Label14. Caption);

form1. Table1. Post;

end;

// Процедура соеденения ответов

procedure soedenenie;

var

raz, i: integer;

obsh: string;

begin

raz: =form1. listBox3. Count-1;

for i: =1 to raz do

begin

obsh: =form1. listbox1. Items. Strings [strtoint (form1. listbox3. Items. Strings [i])] +

(form1. listbox4. Items. Strings [i]);

form1. listBox5. Items. Add (obsh);

end;

form1. ListBox5. Items. Insert (0,'тесты');

end;

// Процедура проверки тестов

procedure prowerka;

var

i,j: integer;

s1,s2: string;

begin

for i: =1 to form1. listbox5. Items. Count-1 do

begin

s1: =form1. listbox5. Items. Strings [i];

for j: =0 to form1. listbox2. Items. Count-1 do

begin

s2: =form1. listbox2. Items. Strings [j];

if s1=s2 then

begin

form1. ListBox6. Items. Add (s1);

end;

end;

end;

if form1. ListBox6. Items. Count<>0 then

begin

form1. Label16. Caption: =IntToStr (form1. ListBox6. Items. Count); // praw otw

ocenka;

end

else

begin

form1. Label16. Caption: ='0';

ocenka;

end;

end;

Procedure First;

begin

form1. richtextbox1. textRTF: ='';

form1. richtextbox2. SetFocus;

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)])]));

form1. richtextbox2. SelRTF: ='';

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox2. SelRTF: ='';

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)]) +1]));

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox1. SelRTF: =form1. richtextbox2. SelRTF;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

end;

procedure start;

begin

form1. edit1. text: ='1';

form1. richtextbox1. textRTF: ='';

form1. richtextbox2. SetFocus;

form1. edit2. Text: =inttostr (form1. richtextbox2. Find (form1. ListBox1. Items. Strings [1]));

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox1. SelRTF: =form1. richtextbox2. SelRTF;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

end;

procedure FirstTest;

begin

form1. richtextbox1. textRTF: ='';

form1. richtextbox2. SetFocus;

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)])]));

form1. richtextbox2. SelRTF: ='';

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox2. SelRTF: ='';

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)]) +1]));

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox1. SelRTF: =form1. richtextbox2. SelRTF;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

end;

procedure prew;

begin

form1. Edit1. Text: =inttostr (strtoint (form1. Edit1. Text) - 1);

begin

form1. richtextbox1. textRTF: ='';

form1. richtextbox2. SetFocus;

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)])]));

form1. richtextbox2. SelRTF: ='';

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox2. SelRTF: ='';

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)]) +1]));

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox1. SelRTF: =form1. richtextbox2. SelRTF;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

end;

end;

procedure Nex;

begin

form1. Edit1. Text: =inttostr (strtoint (form1. Edit1. Text) +1);

begin

form1. richtextbox1. textRTF: ='';

form1. richtextbox2. SetFocus;

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)])]));

form1. richtextbox2. SelRTF: ='';

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox2. SelRTF: ='';

form1. edit2. Text: =inttostr (form1. richtextbox2. Find

(form1. ListBox1. Items. Strings [strtoint (form1. ListBox3. Items. Strings [strtoint (form1. Edit1. Text)]) +1]));

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox1. SelRTF: =form1. richtextbox2. SelRTF;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

end;

end;

// Функция получения случайного числа

function RandomChisla (rez: integer): string;

begin

Randomize;

result: =inttostr (Random (rez));

end;

// Процедура случайного выбора не повторяющихся чисел

procedure Sluchai;

var

i,j,kol,slu1: integer;

begin

form1. ListBox3. Clear;

kol: =strtoint (form1. StatusBar1. Panels. Items [1]. Text); // общее выбранное количество тестов

for i: =1 to form1. ListBox1. Items. Count-2 do

begin

form1. ListBox3. Items. Add (inttostr (i)); // заполнение массива параметром (i)

end;

for j: =1 to kol do // выбор из массива случайных неповторяющихся чисел

begin

slu1: =strtoint (RandomChisla (form1. listbox3. Items. Count)); // диапазон генерации

form1. ListBox3. Items. Add (form1. ListBox3. Items. Strings [slu1]); // добавление в список случайных тестов

form1. ListBox3. Items. Delete (slu1); // удаление из основного масива случайного числа

end;

form1. ListBox3. Items. Insert (0,'тесты');

end;

// Процедура загрузка первого теста

Procedure Erste;

begin

form1. RadioButton1. Enabled: =true;

form1. RadioButton2. Enabled: =true;

form1. RadioButton3. Enabled: =true;

form1. RadioButton4. Enabled: =true;

form1. RadioButton5. Enabled: =true;

form1. Label2. Caption: =' Вопрос № '+inttostr (strtoint (form1. Edit1. Text));

form1. StatusBar1. Panels. Items [7]. Text: =inttostr (strtoint (form1. Edit1. Text));

FirstTest;

end;

//

// Процедура загрузки тестов

Procedure Zagruzka1;

var

i,n: integer;

begin

form1. BitBtn11. Caption: ='Начать';

form1. ProgressBar1. Visible: =true;

application. ProcessMessages;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

form1. ProgressBar1. Max: =StrToInt (form1. SpinEdit2. Text);

form1. richtextbox2. SetFocus;

form1. ListBox2. Items. Insert (0,'тесты');

form1. ListBox1. Items. Add ('тесты');

for i: =1 to StrToInt (form1. SpinEdit2. Text) +1 do

begin

form1. ProgressBar1. Position: = (i);

n: =form1. RichTextBox2. Find ('<'+inttostr (i) +'test>');

form1. RichTextBox2. SelRTF: ='';

if n<>-1 then

begin

form1. ListBox1. Items. Add ('<'+inttostr (i) +'test>');

end;

end;

form1. ProgressBar1. Visible: =false;

form1. StatusBar1. Panels. Items [1]. Text: =' '+form1. SpinEdit2. Text;

form1. StatusBar1. Panels. Items [3]. Text: =' '+form1. SpinEdit1. Text;

form1. RichTextBox2. LoadFile (form1. Edit3. Text); // Refresh

if form1. ListBox1. Items. Count>1 then

begin

form1. edit2. Text: =inttostr (form1. richtextbox2. Find (form1. ListBox1. Items. Strings [strtoint (form1. Edit1. Text)])); // конец поиска

form1. richtextbox2. SelStart: =0;

form1. richtextbox2. SelLength: =strtoint (form1. edit2. Text);

form1. richtextbox1. SelRTF: =form1. richtextbox2. SelRTF;

form1. ProgressBar1. Visible: =false;

form1. RichTextBox2. LoadFile (form1. Edit3. Text);

Form1. Label1. Caption: =form1. LabeledEdit1. Text;

end

else

begin

MessageDlg ('Testing"S"'+#13+#10+#13+#10+

'Программа тестирования не нашла ни одного теста',mtInformation, [mbOk],0);

end;

end;

// Процедура выгрузки тестов

Procedure vigruzka1;

begin

form1. Edit1. Text: ='1';

form1. Edit2. Text: ='0';

form1. LabeledEdit1. Clear;

form1. LabeledEdit2. Clear;

form1. Label1. Caption: ='';

form1. RichTextBox1. SetFocus;

form1. RichTextBox1. TextRTF: ='';

form1. RichTextBox2. SetFocus;

form1. RichTextBox2. TextRTF: ='';

form1. ListBox1. Clear;

form1. ListBox2. Clear;

form1. ListBox3. Clear;

form1. ListBox4. Clear;

form1. ListBox5. Clear;

form1. ListBox6. Clear;

form1. StatusBar1. Panels. Items [1]. Text: =' ';

form1. StatusBar1. Panels. Items [3]. Text: =' ';

form1. StatusBar1. Panels. Items [7]. Text: =' ';

form1. BitBtn5. Enabled: =false;

form1. BitBtn6. Enabled: =false;

form1. BitBtn7. Enabled: =false;

form1. BitBtn8. Enabled: =false;

form1. RadioButton1. Enabled: =false;

form1. RadioButton2. Enabled: =false;

form1. RadioButton3. Enabled: =false;

form1. RadioButton4. Enabled: =false;

form1. RadioButton5. Enabled: =false;

form1. RadioButton1. Checked: =false;

form1. RadioButton2. Checked: =false;

form1. RadioButton3. Checked: =false;

form1. RadioButton4. Checked: =false;

form1. RadioButton5. Checked: =false;

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

end;

procedure TForm1. BitBtn1Click (Sender: TObject);

begin

Form1. Notebook1. ActivePage: ='1';

end;

procedure TForm1. BitBtn3Click (Sender: TObject);

begin

If Form1. Edit6. Text='' then

begin

Form1. Notebook1. ActivePage: ='3';

end

else

begin

s: ='3';

PasswordDlg. ShowModal;

end;

end;

procedure TForm1. BitBtn4Click (Sender: TObject);

begin

begin

try

if (form1. LabeledEdit1. Text<>'') and (form1. LabeledEdit2. Text<>'') and (form1. Label9. Caption<>'') then

begin

form1. ListBox2. Items. LoadFromFile (form1. Edit4. Text);

Form1. Notebook1. ActivePage: ='4';

form1. Panel1. ClientWidth: =0;

form1. StatusBar1. Visible: =true;

Zagruzka1;

end

else

begin

ShowMessage ('Введите данные');

end;

except

on EFOpenError do

showmessage ('На выбранное задание отсутствует файл ответов');

end;

end;

end;

procedure TForm1. FileListBox1Click (Sender: TObject);

begin

form1. Edit3. Text: ='';

form1. Edit4. Text: ='';

form1. Edit3. Text: =Form1. FileListBox1. Directory+'\'+Form1. FileListBox1. Items. Strings [Form1. FileListBox1. ItemIndex];

form1. Edit4. Text: =Form1. FileListBox1. Directory+'\'+ (Form1. FileListBox1. Items. Strings [Form1. FileListBox1. ItemIndex] +'. txt');

form1. Label9. Caption: ='';

form1. Label9. Caption: =Form1. FileListBox1. Items. Strings [Form1. FileListBox1. ItemIndex];

end;

procedure TForm1. BitBtn9Click (Sender: TObject);

begin

Form1. Close;

end;

procedure TForm1. BitBtn11Click (Sender: TObject);

var i: integer;

begin

if form1. BitBtn11. Caption='Стоп' then

begin

if MessageDlg ('Вы действительно хотите закончить тестирование? ',mtInformation, [mbOk,mbCancel],0) = mrOk then

begin

form1. Timer1. Enabled: =false; // остановка таймера

form1. StatusBar1. Panels. Items [5]. Text: ='';

soedenenie;

prowerka;

ocenka;

start;

AddRecord;

vigruzka1;

form1. Notebook1. ActivePage: ='1';

form1. Panel1. ClientWidth: =177;

form1. StatusBar1. Visible: =false;

end

else

end

else

begin

// form2. N2. Enabled: =false;

form1. BitBtn11. Caption: ='Стоп';

form1. BitBtn5. Enabled: =true;

form1. BitBtn6. Enabled: =true;

form1. BitBtn7. Enabled: =true;

form1. BitBtn8. Enabled: =true;

form1. ListBox4. Items. Add ('тесты');

for i: =1 to form1. ListBox1. Items. Count-2 do

begin

form1. ListBox4. Items. Add ('не отвечено');

end;

sluchai;

Erste;

min: =strtoint (form1. StatusBar1. Panels. Items [3]. Text);

sec: =1;

form1. Timer1. Enabled: =true; // Запуск таймера

end;

end;

procedure TForm1. FormCreate (Sender: TObject);

begin

ReadAS;

form1. Label10. Caption: =FormatDateTime ('dd/mm/yyyy',Now);

form1. Notebook1. ActivePage: ='Default';

begin

with Session do

begin

ConfigMode: = cmSession;

try

AddStandardAlias ('TESTING',ExtractFilePath (ParamStr (0)) {+'Data\'},'PARADOX');

Form1. Table1. Active: =True; // откроем базу

finally

ConfigMode: = cmAll;

end;

end;

end;

end;

procedure TForm1. BitBtn5Click (Sender: TObject);

var

h: string;

begin

if form1. edit1. Text<>'1' then

begin

form1. Edit1. Text: ='1';

form1. RadioButton1. Checked: =false;

form1. RadioButton2. Checked: =false;

form1. RadioButton3. Checked: =false;

form1. RadioButton4. Checked: =false;

form1. RadioButton5. Checked: =false;

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

h: = (listbox4. Items. Strings [strtoint (edit1. Text)]);

if h [1] ='A' then

form1. CheckBox1. Visible: =true;

if h [1] ='B' then

form1. CheckBox2. Visible: =true;

if h [1] ='C' then

form1. CheckBox3. Visible: =true;

if h [1] ='D' then

form1. CheckBox4. Visible: =true;

if h [1] ='E' then

form1. CheckBox5. Visible: =true;

First;

form1. Label2. Caption: =' Вопрос № '+inttostr (strtoint (form1. Edit1. Text));

form1. StatusBar1. Panels. Items [7]. Text: =' '+inttostr (strtoint (form1. Edit1. Text));

end

else

end;

procedure TForm1. BitBtn6Click (Sender: TObject);

var

h: string;

begin

if form1. Edit1. Text<>'1' then

begin

form1. RadioButton1. Checked: =false;

form1. RadioButton2. Checked: =false;

form1. RadioButton3. Checked: =false;

form1. RadioButton4. Checked: =false;

form1. RadioButton5. Checked: =false;

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

h: = (listbox4. Items. Strings [strtoint (edit1. Text) - 1]);

if h [1] ='A' then

form1. CheckBox1. Visible: =true;

if h [1] ='B' then

form1. CheckBox2. Visible: =true;

if h [1] ='C' then

form1. CheckBox3. Visible: =true;

if h [1] ='D' then

form1. CheckBox4. Visible: =true;

if h [1] ='E' then

form1. CheckBox5. Visible: =true;

prew;

form1. Label2. Caption: =' Вопрос № '+inttostr (strtoint (form1. Edit1. Text));

form1. StatusBar1. Panels. Items [7]. Text: =' '+inttostr (strtoint (form1. Edit1. Text));

end

else

end;

procedure TForm1. BitBtn7Click (Sender: TObject);

var

h: string;

begin

if strtoint (form1. Edit1. Text) <form1. ListBox3. Items. Count-1 then

begin

form1. RadioButton1. Checked: =false;

form1. RadioButton2. Checked: =false;

form1. RadioButton3. Checked: =false;

form1. RadioButton4. Checked: =false;

form1. RadioButton5. Checked: =false;

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

h: = (listbox4. Items. Strings [strtoint (edit1. Text) +1]);

if h [1] ='A' then

form1. CheckBox1. Visible: =true;

if h [1] ='B' then

form1. CheckBox2. Visible: =true;

if h [1] ='C' then

form1. CheckBox3. Visible: =true;

if h [1] ='D' then

form1. CheckBox4. Visible: =true;

if h [1] ='E' then

form1. CheckBox5. Visible: =true;

Nex;

form1. Label2. Caption: =' Вопрос № '+inttostr (strtoint (form1. Edit1. Text));

form1. StatusBar1. Panels. Items [7]. Text: =' '+inttostr (strtoint (form1. Edit1. Text));

end

else

end;

procedure TForm1. BitBtn8Click (Sender: TObject);

var

h: string;

begin

if strtoint (form1. Edit1. Text) <form1. ListBox3. Items. Count-1 then

begin

form1. Edit1. Text: =form1. StatusBar1. Panels. Items [1]. Text;

form1. Label2. Caption: =' Вопрос № '+inttostr (strtoint (form1. Edit1. Text));

form1. StatusBar1. Panels. Items [7]. Text: =' '+inttostr (strtoint (form1. Edit1. Text));

form1. RadioButton1. Checked: =false;

form1. RadioButton2. Checked: =false;

form1. RadioButton3. Checked: =false;

form1. RadioButton4. Checked: =false;

form1. RadioButton5. Checked: =false;

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

h: = (listbox4. Items. Strings [strtoint (edit1. Text)]);

if h [1] ='A' then

form1. CheckBox1. Visible: =true;

if h [1] ='B' then

form1. CheckBox2. Visible: =true;

if h [1] ='C' then

form1. CheckBox3. Visible: =true;

if h [1] ='D' then

form1. CheckBox4. Visible: =true;

if h [1] ='E' then

form1. CheckBox5. Visible: =true;

first;

end

else

end;

procedure TForm1. RadioButton1Click (Sender: TObject);

var

h: integer;

begin

h: =strtoint (form1. edit1. Text);

listbox4. Items. Strings [h]: ='A';

form1. CheckBox1. Visible: =true;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

end;

procedure TForm1. RadioButton2Click (Sender: TObject);

var

h: integer;

begin

h: =strtoint (form1. edit1. Text);

listbox4. Items. Strings [h]: ='B';

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =true;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

end;

procedure TForm1. RadioButton3Click (Sender: TObject);

var

h: integer;

begin

h: =strtoint (form1. edit1. Text);

listbox4. Items. Strings [h]: ='C';

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =true;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =false;

end;

procedure TForm1. RadioButton4Click (Sender: TObject);

var

h: integer;

begin

h: =strtoint (form1. edit1. Text);

listbox4. Items. Strings [h]: ='D';

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =true;

form1. CheckBox5. Visible: =false;

end;

procedure TForm1. RadioButton5Click (Sender: TObject);

var

h: integer;

begin

h: =strtoint (form1. edit1. Text);

listbox4. Items. Strings [h]: ='E';

form1. CheckBox1. Visible: =false;

form1. CheckBox2. Visible: =false;

form1. CheckBox3. Visible: =false;

form1. CheckBox4. Visible: =false;

form1. CheckBox5. Visible: =true;

end;

procedure TForm1. Timer1Timer (Sender: TObject);

begin

if (sec = 0) and (min > 0) then

begin

sec: = 60;

min: = min - 1;

end;

sec: = sec - 1;

ShowTime; // показать, сколько времени осталось

if (min = 0) and (sec = 0) then // заданный интервал истек

begin

form1. Timer1. Enabled: =false; // остановка таймера

MessageDlg ('Время тестирования истекло! ',mtInformation, [mbOk],0);

form1. Timer1. Enabled: =false; // остановка таймера

form1. StatusBar1. Panels. Items [5]. Text: ='';

soedenenie;

prowerka;

ocenka;

start;

AddRecord;

vigruzka1;

form1. Notebook1. ActivePage: ='1';

form1. Panel1. ClientWidth: =177;

end;

end;

procedure TForm1. BitBtn10Click (Sender: TObject);

begin

SaveAs;

ReadAS;

Form1. Notebook1. ActivePage: ='1';

end;

procedure TForm1. N2Click (Sender: TObject);

begin

form1. Notebook1. ActivePage: ='5';

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

form1. Notebook1. ActivePage: =form1. Edit5. Text;

end;

procedure TForm1. BitBtn14Click (Sender: TObject);

begin

if form1. table1. RecordCount<>0 then

begin

if MessageDlg ('Программа тестирование'

+#13+#10+#13+#10+

'Вы действительно хотите удалить'+#13+#10+#13+#10+

'эту запись из базы? '

,mtInformation, [mbOk,mbCancel],0) = mrOk then

begin

form1. Table1. delete;

end;

end;

end;

procedure TForm1. BitBtn13Click (Sender: TObject);

begin

Form1. Notebook1. ActivePage: ='6';

end;

procedure TForm1. BitBtn2Click (Sender: TObject);

begin

If Form1. Edit6. Text='' then

begin

Form1. Notebook1. ActivePage: ='2';

end

else

begin

s: ='2';

PasswordDlg. ShowModal;

end;

end;

procedure TForm1. N3Click (Sender: TObject);

begin

if form1. table1. RecordCount<>0 then

begin

if MessageDlg ('Программа тестирование'

+#13+#10+#13+#10+

'Вы действительно хотите удалить'+#13+#10+#13+#10+

'эту запись из базы? '

,mtInformation, [mbOk,mbCancel],0) = mrOk then

begin

form1. Table1. delete;

end;

end;

end;

procedure TForm1. BitBtn15Click (Sender: TObject);

var

s: string;

begin

s: =ExtractFilePath (ParamStr (0)) +'Отчет по программе тестирования. xls';

SendtoExcel (s);

end;

procedure TForm1. N4Click (Sender: TObject);

begin

if MessageDlg ('Testing"S"'+#13+#10+#13+#10+

'Подтверждение'+#13+#10+#13+#10+

'Вы действительно хотите удалить'+#13+#10+#13+#10+

'все записи в базе данных? '

,mtInformation, [mbOk,mbCancel],0) = mrOk then

begin

while not form1. table1. eof do

begin

form1. table1. first;

Form1. table1. Delete;

form1. table1. next;

end;

Form1. table1. Delete;

Form1. table1. Cancel;

end;

end;

procedure TForm1. BitBtn16Click (Sender: TObject);

begin

Form1. Notebook1. ActivePage: ='2';

end;

procedure TForm1. BitBtn12Click (Sender: TObject);

begin

Form1. Notebook1. ActivePage: ='1';

end;

end.

Размещено на Allbest.ru


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

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

    контрольная работа [928,3 K], добавлен 23.12.2012

  • Участники и инструментальные средства создания экспертной системы. Классификация, преимущества, сферы применения экспертных систем. Разработка блок-схемы алгоритма и программы на языке Турбо Паскаль для решения задачи по теме "Двумерные массивы".

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

  • Обзор существующих решений построения систем взаимодействия. Классическая архитектура клиент-сервер. Защита от копирования и распространения материалов тестирования. Задачи ИБ компьютерных систем тестирования и обзор современных способов их реализации.

    курсовая работа [36,9 K], добавлен 26.04.2013

  • Создание системы компьютерного тестирования для контроля знаний. Проблемы, возникающие при создании тестовой оболочки в среде Ren`Py. Разработка проектных решений по системе и её частям. Структура тестирования, вопросы и ответы тестирующей системы.

    дипломная работа [501,6 K], добавлен 12.09.2016

  • Разработка модели системы тестирования пользователей с применением технологии "клиент-сервер". Требования к программному изделию и документации. SADT диаграмма системы тестирования до и после автоматизации. Настройка SQL-сервера и установка программы.

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

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

    дипломная работа [2,4 M], добавлен 18.08.2013

  • Проектирование программы в среде Delphi для тестирования знаний студентов по программированию, с выводом оценки по окончанию тестирования. Разработка экранных форм и алгоритма программы. Описание программных модулей. Алгоритм процедуры BitBtn1Click.

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

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

    дипломная работа [2,1 M], добавлен 20.06.2011

  • Обеспечение универсальности функций тестирования при разработке программы для тестирования студентов. Бесплатное программное обеспечение. Анализ выбора среды программирования. Особенности среды Delphi и СУБД MySQL. Описание алгоритма и блок-схемы.

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

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

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

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