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