Разработка обучающей и тестирующей системы по информационной безопасности

Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.

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

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

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

copyfile('DATA\Раздел III\Тема 2\р3т2.doc', 'c:\windows\system32\р3т2.doc', false);

copyfile('DATA\Раздел III\Тема 3\р3т3.doc', 'c:\windows\system32\р3т3.doc', false);

copyfile('DATA\Раздел III\Тема 4\р3т4.doc', 'c:\windows\system32\р3т4.doc', false);

copyfile('DATA\Раздел III\Тема 5\р3т5.doc', 'c:\windows\system32\р3т5.doc', false);

copyfile('DATA\Раздел III\Тема 6\р3т6.doc', 'c:\windows\system32\р3т6.doc', false);

copyfile('DATA\Раздел III\Тема 7\р3т7.doc', 'c:\windows\system32\р3т7.doc', false);

copyfile('DATA\Раздел III\Тема 8\р3т8.doc', 'c:\windows\system32\р3т8.doc', false);

copyfile('DATA\Раздел IV\Тема 1\р4т1.doc', 'c:\windows\system32\р4т1.doc', false);

copyfile('DATA\Раздел IV\Тема 2\р4т2.doc', 'c:\windows\system32\р4т2.doc', false);

copyfile('DATA\Раздел IV\Тема 3\р4т3.doc', 'c:\windows\system32\р4т3.doc', false);

copyfile('DATA\Раздел IV\Тема 4\р4т4.doc', 'c:\windows\system32\р4т4.doc', false);

copyfile('DATA\Раздел IV\Тема 5\р4т5.doc', 'c:\windows\system32\р4т5.doc', false);

copyfile('DATA\Раздел IV\Тема 6\р4т6.doc', 'c:\windows\system32\р4т6.doc', false);

copyfile('DATA\Лекции\Лекция 1-2 Понятие информационной безопасности.doc', 'c:\windows\system32\Лекция 1-2 Понятие информационной безопасности.doc', false);

copyfile('DATA\Лекции\Лекция 2-3 Методы и технологии обеспечения информационной безопасности.doc', 'c:\windows\system32\Лекция 2-3 Методы и технологии обеспечения информационной безопасности.doc', false);

copyfile('DATA\Лекции\Лекция 4 Стандарты и технические спецификации информационной безопасности.doc', 'c:\windows\system32\Лекция 4 Стандарты и технические спецификации информационной безопасности.doc', false);

copyfile('DATA\Лекции\Лекция 5 Аудит информационной безопасности.doc', 'c:\windows\system32\Лекция 5 Аудит информационной безопасности.doc', false);

copyfile('DATA\Лекции\Лекция 6 Безопасность INTERNET, INTRANET, электронной почты.doc', 'c:\windows\system32\Лекция 6 Безопасность INTERNET, INTRANET, электронной почты.doc', false);

copyfile('DATA\Лекции\Лекция 7 Безопасность операционных систем, систем передачи данных и баз данных.doc', 'c:\windows\system32\Лекция 7 Безопасность операционных систем, систем передачи данных и баз данных.doc', false);

copyfile('DATA\Лекции\Лекция 8 Атаки и угрозы.doc', 'c:\windows\system32\Лекция 8 Атаки и угрозы.doc', false);

copyfile('DATA\Лекции\Лекция 9 Анализ защищенности и уязвимости информационных систем.doc', 'c:\windows\system32\Лекция 9 Анализ защищенности и уязвимости информационных систем.doc', false);

copyfile('DATA\Лекции\Лекция 10 Средства управления информационной безопасностью.doc', 'c:\windows\system32\Лекция 10 Средства управления информационной безопасностью.doc', false);

copyfile('DATA\Лекции\Лекция 11 Практические методики нарушения информационной безопасности.doc', 'c:\windows\system32\Лекция 11 Практические методики нарушения информационной безопасности.doc', false);

copyfile('DATA\Лекции\Лекция 12 Безопасность систем и приложений.doc', 'c:\windows\system32\Лекция 12 Безопасность систем и приложений.doc', false);

end;

{самостоятельные работы}

procedure TForm1.N11Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т1.doc');

end;

procedure TForm1.N21Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т2.doc');

end;

procedure TForm1.N31Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т3.doc');

end;

procedure TForm1.N41Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т4.doc');

end;

procedure TForm1.N51Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т5.doc');

end;

procedure TForm1.N61Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т6.doc');

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

DeleteFile('c:\windows\system32\ogl.doc');

DeleteFile('c:\windows\system32\р1т1.docx');

DeleteFile('c:\windows\system32\р1т2.docx');

DeleteFile('c:\windows\system32\р1т3.doc');

DeleteFile('c:\windows\system32\р1т4.doc');

DeleteFile('c:\windows\system32\р1т5.doc');

DeleteFile('c:\windows\system32\р1т6.doc');

DeleteFile('c:\windows\system32\р1т7.doc');

DeleteFile('c:\windows\system32\р1т8.doc');

DeleteFile('c:\windows\system32\р1т9.doc');

DeleteFile('c:\windows\system32\р2т1.doc');

DeleteFile('c:\windows\system32\р2т2.doc');

DeleteFile('c:\windows\system32\р2т3.doc');

DeleteFile('c:\windows\system32\р2т4.doc');

DeleteFile('c:\windows\system32\р2т5.doc');

DeleteFile('c:\windows\system32\р2т6.doc');

DeleteFile('c:\windows\system32\р3т1.doc');

DeleteFile('c:\windows\system32\р3т2.doc');

DeleteFile('c:\windows\system32\р3т3.doc');

DeleteFile('c:\windows\system32\р3т4.doc');

DeleteFile('c:\windows\system32\р3т5.doc');

DeleteFile('c:\windows\system32\р3т6.doc');

DeleteFile('c:\windows\system32\р3т7.doc');

DeleteFile('c:\windows\system32\р3т8.doc');

DeleteFile('c:\windows\system32\р4т1.doc');

DeleteFile('c:\windows\system32\р4т2.doc');

DeleteFile('c:\windows\system32\р4т3.doc');

DeleteFile('c:\windows\system32\р4т4.doc');

DeleteFile('c:\windows\system32\р4т5.doc');

DeleteFile('c:\windows\system32\р4т6.doc');

DeleteFile('c:\windows\system32\Лекция 1-2 Понятие информационной безопасности.doc');

DeleteFile('c:\windows\system32\Лекция 2-3 Методы и технологии обеспечения информационной безопасности.doc');

DeleteFile('c:\windows\system32\Лекция 4 Стандарты и технические спецификации информационной безопасности.doc');

DeleteFile('c:\windows\system32\Лекция 5 Аудит информационной безопасности.doc');

DeleteFile('c:\windows\system32\Лекция 6 Безопасность INTERNET, INTRANET, электронной почты.doc');

DeleteFile('c:\windows\system32\Лекция 7 Безопасность операционных систем, систем передачи данных и баз данных.doc');

DeleteFile('c:\windows\system32\Лекция 8 Атаки и угрозы.doc');

DeleteFile('c:\windows\system32\Лекция 9 Анализ защищенности и уязвимости информационных систем.doc');

DeleteFile('c:\windows\system32\Лекция 10 Средства управления информационной безопасностью.doc');

DeleteFile('c:\windows\system32\Лекция 11 Практические методики нарушения информационной безопасности.doc');

DeleteFile('c:\windows\system32\Лекция 12 Безопасность систем и приложений.doc');

end;

procedure TForm1.N6Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р1т2.docx');

end;

procedure TForm1.N7Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р1т3.doc');

end;

procedure TForm1.N9Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р1т6.doc');

end;

procedure TForm1.N10Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р1т7.doc');

end;

procedure TForm1.N81Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р1т8.doc');

end;

procedure TForm1.N91Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р1т9.doc');

end;

procedure TForm1.N12Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('ogl.doc');

end;

procedure TForm1.N42Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р2т4.doc');

end;

procedure TForm1.N52Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р2т5.doc');

end;

procedure TForm1.N62Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р2т6.doc');

end;

procedure TForm1.N71Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т7.doc');

end;

procedure TForm1.N82Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р3т8.doc');

end;

procedure TForm1.N19Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р4т1.doc');

end;

procedure TForm1.N23Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р4т2.doc');

end;

procedure TForm1.N32Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р4т3.doc');

end;

procedure TForm1.N43Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р4т4.doc');

end;

procedure TForm1.N53Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р4т5.doc');

end;

procedure TForm1.N63Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('р4т6.doc');

end;

procedure TForm1.N121Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 1-2 Понятие информационной безопасности.doc');

end;

procedure TForm1.N231Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 2-3 Методы и технологии обеспечения информационной безопасности.doc');

end;

procedure TForm1.N44Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 4 Стандарты и технические спецификации информационной безопасности.doc');

end;

procedure TForm1.N54Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 5 Аудит информационной безопасности.doc');

end;

procedure TForm1.N6INTERNETINTRANET1Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 6 Безопасность INTERNET, INTRANET, электронной почты.doc');

end;

procedure TForm1.N72Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 7 Безопасность операционных систем, систем передачи данных и баз данных.doc');

end;

procedure TForm1.N83Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 8 Атаки и угрозы.doc');

end;

procedure TForm1.N92Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 9 Анализ защищенности и уязвимости информационных систем.doc');

end;

procedure TForm1.N101Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 10 Средства управления информационной безопасностью.doc');

end;

procedure TForm1.N111Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 11 Практические методики нарушения информационной безопасности.doc');

end;

procedure TForm1.N122Click(Sender: TObject);

var Word: variant;

begin

try

Word := CreateOleObject('Word.Application');

except

ShowMessage('Не могу запустить Microsoft Word');

end;

Word.Visible := True;

Word.Documents.Open('Лекция 12 Безопасность систем и приложений.doc');

end;

procedure TForm1.N14Click(Sender: TObject);

begin

ShellExecute(0, nil, 'test\Project1.exe', nil, nil, SW_SHOWNORMAL);

end;

end.

Модуль тестирования:

unit Unit1;

interface

uses

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

Dialogs, Menus, ComCtrls, ExtCtrls, StdCtrls, ImgList,

Grids, DBGrids, DBCtrls, DB, DBTables, ADODB, StoHtmlHelp, Mask, QRCtrls,

QuickRpt;{, SUISkinEngine;}

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

StatusBar1: TStatusBar;

Timer1: TTimer;

Button1: TButton;

FindDialog1: TFindDialog;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

N5: TMenuItem;

N6: TMenuItem;

ImageList1: TImageList;

N7: TMenuItem;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DataSource2: TDataSource;

ADOTable2: TADOTable;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

Label2: TLabel;

Label3: TLabel;

FIO: TEdit;

GRUP: TEdit;

Button2: TButton;

Var1: TRadioButton;

Var2: TRadioButton;

Var3: TRadioButton;

Var4: TRadioButton;

Var5: TRadioButton;

Var6: TRadioButton;

DBGrid3: TDBGrid;

DBGrid4: TDBGrid;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

DataSource3: TDataSource;

DataSource4: TDataSource;

ADOQuery1: TADOQuery;

DataSource5: TDataSource;

DataSource6: TDataSource;

DBGrid6: TDBGrid;

ADOTable6: TADOTable;

DBGrid5: TDBGrid;

ADOTable5: TADOTable;

DBText1: TDBText;

ADOQuery2: TADOQuery;

ADOTable7: TADOTable;

DataSource7: TDataSource;

DBGrid7: TDBGrid;

ADOConnection2: TADOConnection;

QuickRep1: TQuickRep;

QRBand1: TQRBand;

QRBand2: TQRBand;

QRBand3: TQRBand;

QRSysData1: TQRSysData;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel1: TQRLabel;

QRLabel6: TQRLabel;

PrintDialog1: TPrintDialog;

Memo1: TMemo;

QRLabel7: TQRLabel;

Timer2: TTimer;

N11: TMenuItem;

procedure N4Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Var1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

{procedure SteelBlack1Click(Sender: TObject);

procedure DiamondBlue1Click(Sender: TObject);

procedure MP101Click(Sender: TObject);

procedure N10Click(Sender: TObject);}

procedure FormShow(Sender: TObject);

procedure N11Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1 :TForm1;

ds,fm :string;

ocen :string;

FAM,Group:string;

Min :integer;

kol_v,ix:integer;

tm :integer;

shet,vpr:integer;

razn :real;

shifr,neshifr:string;

cd :integer;

prv :integer;

implementation

uses Unit2, Unit3;

{$R *.dfm}

Function Decode(S: String; Code: Integer): String;

Var t: Integer;

Begin

For t:=1 to Length(S) Do S[t]:=Chr(Ord(S[t]) xor Code);

Result:=S;

End;

procedure TForm1.N4Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var sob:string;

begin

sob:=('Время вышло !!!');

StatusBar1.Panels[1].Text:=' '+' '+'Вопрос №'+''+IntToStr(vpr);

StatusBar1.Panels[0].Text:=' '+' '+'Времени осталось: ' + Format('%d : %2d',[Min div 60, Min mod 60 ]);

Dec(Min);

if Min < 0 then

begin

timer1.enabled:=false;

MessageDlg( sob, mtInformation, [mbOk], 0);

Button1.Visible:=false;

ocen:='';

razn:=(shet/kol_v)*100;

if ((razn>=0)and(razn<=49))then

begin

ocen:='2';

end;

if ((razn>=50)and(razn<=69))then

begin

ocen:='3';

end;

if ((razn>=70)and(razn<=89))then

begin

ocen:='4';

end;

if ((razn>=90)and(razn<=100))then

begin

ocen:='5';

end;

QRLabel1.Caption:='';

QRLabel2.Caption:='';

QRLabel3.Caption:='';

QRLabel4.Caption:='';

QRLabel5.Caption:='';

QRLabel6.Caption:='';

QRLabel7.Caption:='';

QRSysData1.Caption:='';

QRLabel1.Caption:='Дисциплина:'+' '+ds;

QRLabel2.Caption:='ФИО:'+' '+Fam;

QRLabel3.Caption:='Группа:'+' '+Group;

QRLabel4.Caption:=' '+'Количество вопросов в тесте:'+' '+IntToStr(kol_v);

QRLabel5.Caption:=' '+'Количество отвеченных вопросов:'+' '+IntToStr(vpr-1);

QRLabel6.Caption:=' '+'Количество верных ответов:'+' '+IntToStr(shet-1);

QRLabel7.Caption:=' '+'Предпологаемая оценка:'+' '+ocen;

QRSysData1.Caption:=DateTimeToStr(Date)+' '+TimeToStr(time);

N2.Enabled:=true;

SaveDialog1.FileName := FAM;

// Сохранение результатов тестирования

SaveDialog1.FileName := FAM;

Memo1.Clear;

Memo1.Lines.Add('Дисциплина:'+' '+ds);

Memo1.Lines.Add('');

Memo1.Lines.Add('ФИО:'+' '+Fam);

Memo1.Lines.Add('');

Memo1.Lines.Add('Группа:'+' '+Group);

Memo1.Lines.Add('');

Memo1.Lines.Add('Количество вопросов в тесте:'+' '+IntToStr(kol_v));

Memo1.Lines.Add('');

Memo1.Lines.Add('Количество отвеченных вопросов:'+' '+IntToStr(vpr-1));

Memo1.Lines.Add('');

Memo1.Lines.Add('Количество верных ответов:'+' '+IntToStr(shet-1));

Memo1.Lines.Add('');

Memo1.Lines.Add('Предпологаемая оценка:'+' '+ocen);

Memo1.Lines.Add('');

Memo1.Lines.Add('Дата:'+' '+DateToStr(date)+' '+TimeToStr(time));

neshifr:='';

shifr:='';

cd:=12;

neshifr:=Memo1.Text;

shifr:=Decode(neshifr,cd);

Memo1.Text:=shifr;

Memo1.Lines.SaveToFile(SaveDialog1.FileName + '.txt');

PageControl1.ActivePageIndex := 2;

TabSheet1.Enabled := False;

TabSheet2.Enabled := false;

TabSheet3.Enabled := true;

end;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

pro.showmodal;

end;

procedure TForm1.N7Click(Sender: TObject);

var pyt:string;

ixx,ixy :integer;

begin

shet:=0;

vpr:=0;

prv:=0;

FIO.Clear;

GRUP.Clear;

n2.Enabled:=false;

n11.Enabled:=false;

// Очистка отчета

QRLabel1.Caption:='';

QRLabel2.Caption:='';

QRLabel3.Caption:='';

QRLabel4.Caption:='';

QRLabel5.Caption:='';

QRLabel6.Caption:='';

QRLabel7.Caption:='';

QRSysData1.Caption:='';

// Очистка вариантов ответов

Var1.Caption:='';

Var2.Caption:='';

Var3.Caption:='';

Var4.Caption:='';

Var5.Caption:='';

Var6.Caption:='';

DBText1.Visible:=true;

Var1.Visible:=false;

Var2.Visible:=false;

Var3.Visible:=false;

Var4.Visible:=false;

Var5.Visible:=false;

Var6.Visible:=false;

Button1.Visible:=true;

ADOConnection1.Connected:=false;

pyt:='';

OpenDialog1.Execute;

pyt:=OpenDialog1.FileName;

ADOConnection1.ConnectionString:=pyt;

ADOConnection1.Connected:=true;

ADOTable1.Active:=true;

ADOTable2.Active:=true;

ADOTable3.Active:=true;

ADOTable4.Active:=true;

ADOTable7.Active:=true;

for ixy:=1 to ADOTable4.RecordCount do

begin

ADOTable4.Delete;

ADOTable4.Next;

end;

for ixx:=1 to ADOTable3.RecordCount do

begin

ADOTable3.Delete;

ADOTable3.Next;

end;

ds:='';

ds:=ADOTable7.FieldByName('Название дисциплины').AsString;

kol_v:=strtoint(ADOTable7.FieldByName('Количество вопросов').AsString);

ix:=ADOTable1.RecordCount;

tm:=StrToInt(ADOTable7.FieldByName('Время').AsString);

prv:=ADOTable1.RecordCount;

if (kol_v>(prv-20)) then

begin

ShowMessage('Структура БД не верна, добавьте больше вопросов');

ShowMessage('Программа завершает работу');

close;

end else

Form1.Caption:=fm+' '+'по дисциплине'+' '+'"'+ds+'"';

PageControl1.ActivePageIndex := 0;

TabSheet1.Enabled := true;

TabSheet2.Enabled := false;

TabSheet3.Enabled := false;

end;

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);

begin

DBGrid1.DataSource;

end;

procedure TForm1.Button2Click(Sender: TObject);

label q1;

var a:array[1..dsMaxStringSize] of integer;

b,i,x:integer;

begin

randomize;

timer1.enabled:=true;

Min:=tm*60;

if (FIO.Text = '')and(GRUP.Text = '') then

begin

ShowMessage('Заполните поле Фамилия'+#13+#10+

' '+#13+#10+

'Заполните поле Группа');

end;

if (FIO.Text <> '')and(GRUP.Text = '') then

begin

ShowMessage('Заполните поле Группа');

end;

if (FIO.Text = '')and(GRUP.Text <> '') then

begin

ShowMessage('Заполните поле Фамилия');

end;

if (FIO.Text <> '')and(GRUP.Text <> '') then

begin

ShowMessage('Студент:'+' '+FIO.Text +#13+#10+

' '+#13+#10+

'Из группы:'+' '+GRUP.Text +#13+#10+

' '+#13+#10+

'Начал тестирование');

PageControl1.ActivePageIndex := 1;

TabSheet1.Enabled := false;

TabSheet2.Enabled := true;

FAM:=FIO.Text;

Group:=GRUP.Text;

Button1.Visible:=true;

for i:=1 to kol_v do

begin

b:=random(ix)+1;

//ShowMessage(inttostr(b));

for x:=1 to kol_v do

if (a[i]=b) then continue

else

begin

a[i]:=b;

end;

end;

for i:=1 to kol_v do

//if (inttostr(a[i])<>ADOTable4.FieldByName('Код').AsString) then

begin

ADOQuery1.Active := false;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('SELECT * FROM Вопрос WHERE Код = '+inttostr(a[i])+' ');

ADOQuery1.Active := true;

ADOTable4.Insert;

ADOTable4.FieldByName('Код').AsString:=DBGrid5.Fields[0].AsString;

ADOTable4.FieldByName('Вопрос').AsString:=DBGrid5.Fields[1].AsString;

ADOTable4.FieldByName('ID').AsString:=IntToStr(i);

ADOTable4.post;

ADOQuery2.Active := false;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('SELECT * FROM Варианты WHERE Код = '+inttostr(a[i])+' ');

ADOQuery2.Active := true;

ADOTable3.Insert;

ADOTable3.FieldByName('Код').AsString:=DBGrid5.Fields[0].AsString;

ADOTable3.FieldByName('Ответ 1').AsString:=DBGrid6.Fields[1].AsString;

ADOTable3.FieldByName('Ответ 2').AsString:=DBGrid6.Fields[2].AsString;

ADOTable3.FieldByName('Ответ 3').AsString:=DBGrid6.Fields[3].AsString;

ADOTable3.FieldByName('Ответ 4').AsString:=DBGrid6.Fields[4].AsString;

ADOTable3.FieldByName('Ответ 5').AsString:=DBGrid6.Fields[5].AsString;

ADOTable3.FieldByName('Ответ 6').AsString:=DBGrid6.Fields[6].AsString;

ADOTable3.FieldByName('ID').AsString:=IntToStr(i);

ADOTable3.post;

end;

end;

ADOTable3.First;

ADOTable4.First;

Var1.Caption:='';

Var2.Caption:='';

Var3.Caption:='';

Var4.Caption:='';

Var5.Caption:='';

Var6.Caption:='';

Var1.Visible:=false;

Var2.Visible:=false;

Var3.Visible:=false;

Var4.Visible:=false;

Var5.Visible:=false;

Var6.Visible:=false;

if (ADOTable3.FieldByName('Ответ 1').AsString<>'') then

begin

Var1.Visible:=true;

Var1.Caption:=ADOTable3.FieldByName('Ответ 1').AsString;

end;

if (ADOTable3.FieldByName('Ответ 2').AsString<>'') then

begin

Var2.Visible:=true;

Var2.Caption:=ADOTable3.FieldByName('Ответ 2').AsString;

end;

if (ADOTable3.FieldByName('Ответ 3').AsString<>'') then

begin

Var3.Visible:=true;

Var3.Caption:=ADOTable3.FieldByName('Ответ 3').AsString;

end;

if (ADOTable3.FieldByName('Ответ 4').AsString<>'') then

begin

Var4.Visible:=true;

Var4.Caption:=ADOTable3.FieldByName('Ответ 4').AsString;

end;

if (ADOTable3.FieldByName('Ответ 5').AsString<>'') then

begin

Var5.Visible:=true;

Var5.Caption:=ADOTable3.FieldByName('Ответ 5').AsString;

end;

if (ADOTable3.FieldByName('Ответ 6').AsString<>'') then

begin

Var6.Visible:=true;

Var6.Caption:=ADOTable3.FieldByName('Ответ 6').AsString;

end;

inc(vpr);

inc(shet);

end;

procedure TForm1.Button1Click(Sender: TObject);

var pp,tt:Integer;

begin

// Проверка на наличие выбора варианта ответа

{if not ((Var1.Checked=false)and(Var2.Checked=false)and(Var3.Checked=false)and(Var4.Checked=false)and(Var5.Checked=false)and(Var6.Checked=false)) then

begin

ShowMessage('Выберите вариант ответа');

end else}

inc(vpr);

ADOTable3.Next;

ADOTable4.Next;

Var1.Caption:='';

Var2.Caption:='';

Var3.Caption:='';

Var4.Caption:='';

Var5.Caption:='';

Var6.Caption:='';

Var1.Checked:=false;

Var2.Checked:=false;

Var3.Checked:=false;

Var4.Checked:=false;

Var5.Checked:=false;

Var6.Checked:=false;

Var1.Visible:=false;

Var2.Visible:=false;

Var3.Visible:=false;

Var4.Visible:=false;

Var5.Visible:=false;

Var6.Visible:=false;

if (vpr mod 2=0)and (vpr<10) then

begin

tt:=var1.top;

var1.Top:=var2.top;

var2.top:=tt;

end

else

begin

tt:=var1.top;

var1.Top:=var4.top;

var4.top:=tt;

end;

if (vpr mod 2=1)and (vpr<10) then

begin

tt:=var1.top;

var1.Top:=var3.top;

var3.top:=tt;

end

else

begin

tt:=var1.top;

var1.Top:=var5.top;

var5.top:=tt;

end;

// Проверка на наличие вариантов, если нет, то вариант не отображается

if (ADOTable3.FieldByName('Ответ 1').AsString<>'') then

begin

Var1.Visible:=true;

Var1.Caption:=ADOTable3.FieldByName('Ответ 1').AsString;

end;

if (ADOTable3.FieldByName('Ответ 2').AsString<>'') then

begin

Var2.Visible:=true;

Var2.Caption:=ADOTable3.FieldByName('Ответ 2').AsString;

end;

if (ADOTable3.FieldByName('Ответ 3').AsString<>'') then

begin

Var3.Visible:=true;

Var3.Caption:=ADOTable3.FieldByName('Ответ 3').AsString;

end;

if (ADOTable3.FieldByName('Ответ 4').AsString<>'') then

begin

Var4.Visible:=true;

Var4.Caption:=ADOTable3.FieldByName('Ответ 4').AsString;

end;

if (ADOTable3.FieldByName('Ответ 5').AsString<>'') then

begin

Var5.Visible:=true;

Var5.Caption:=ADOTable3.FieldByName('Ответ 5').AsString;

end;

if (ADOTable3.FieldByName('Ответ 6').AsString<>'') then

begin

Var6.Visible:=true;

Var6.Caption:=ADOTable3.FieldByName('Ответ 6').AsString;

end;

if (vpr>kol_v) then

begin

DBText1.Visible:=false;

Var1.Visible:=false;

Var2.Visible:=false;

Var3.Visible:=false;

Var4.Visible:=false;

Var5.Visible:=false;

Var6.Visible:=false;

Button1.Visible:=false;

razn:=(shet/vpr)*100;

if ((razn>=0)and(razn<=49))then

begin

ocen:='2';

end;

if ((razn>=50)and(razn<=69))then

begin

ocen:='3';

end;

if ((razn>=70)and(razn<=89))then

begin

ocen:='4';

end;

if ((razn>=90)and(razn<=100))then

begin

ocen:='5';

end;

QRLabel1.Caption:='';

QRLabel2.Caption:='';

QRLabel3.Caption:='';

QRLabel4.Caption:='';

QRLabel5.Caption:='';

QRLabel6.Caption:='';

QRLabel7.Caption:='';

QRSysData1.Caption:='';

QRLabel1.Caption:='Дисциплина:'+' '+ds;

QRLabel2.Caption:='ФИО:'+' '+Fam;

QRLabel3.Caption:='Группа:'+' '+Group;

QRLabel4.Caption:=' '+'Количество вопросов в тесте:'+' '+IntToStr(kol_v);

QRLabel5.Caption:=' '+'Количество отвеченных вопросов:'+' '+IntToStr(vpr-1);

QRLabel6.Caption:=' '+'Количество верных ответов:'+' '+IntToStr(shet-1);

QRLabel7.Caption:=' '+'Предпологаемая оценка:'+' '+ocen;

QRSysData1.Caption:=DateTimeToStr(Date)+' '+TimeToStr(time);

N2.Enabled:=true;

n11.Enabled:=true;

SaveDialog1.FileName := FAM;

// Сохранение результатов тестирования

Memo1.Clear;

Memo1.Lines.Add('Дисциплина:'+' '+ds);

Memo1.Lines.Add('');

Memo1.Lines.Add('ФИО:'+' '+Fam);

Memo1.Lines.Add('');

Memo1.Lines.Add('Группа:'+' '+Group);

Memo1.Lines.Add('');

Memo1.Lines.Add('Количество вопросов в тесте:'+' '+IntToStr(kol_v));

Memo1.Lines.Add('');

Memo1.Lines.Add('Количество отвеченных вопросов:'+' '+IntToStr(vpr-1));

Memo1.Lines.Add('');

Memo1.Lines.Add('Количество верных ответов:'+' '+IntToStr(shet-1));

Memo1.Lines.Add('');

Memo1.Lines.Add('Предпологаемая оценка:'+' '+ocen);

Memo1.Lines.Add('');

Memo1.Lines.Add('Дата:'+' '+DateToStr(date)+' '+TimeToStr(time));

neshifr:='';

shifr:='';

cd:=12;

neshifr:=Memo1.Text;

shifr:=Decode(neshifr,cd);

Memo1.Text:=shifr;

Memo1.Lines.SaveToFile(SaveDialog1.FileName + '.txt');

PageControl1.ActivePageIndex := 2;

TabSheet1.Enabled := False;

TabSheet2.Enabled := false;

TabSheet3.Enabled := true;

Timer1.Enabled:=false;

end else

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

fm:=Form1.Caption;

end;

procedure TForm1.Var1Click(Sender: TObject);

begin

if (Var1.Checked=true)then

begin

inc(shet);

end;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

QuickRep1.Preview;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

logo.showmodal;

end;

procedure TForm1.N11Click(Sender: TObject);

var

ixxx,ixyy :integer;

begin

shet:=0;

vpr:=0;

prv:=0;

FIO.Clear;

GRUP.Clear;

n2.Enabled:=false;

// Очистка отчета

QRLabel1.Caption:='';

QRLabel2.Caption:='';

QRLabel3.Caption:='';

QRLabel4.Caption:='';

QRLabel5.Caption:='';

QRLabel6.Caption:='';

QRLabel7.Caption:='';

QRSysData1.Caption:='';

// Очистка вариантов ответов

Var1.Caption:='';

Var2.Caption:='';

Var3.Caption:='';

Var4.Caption:='';

Var5.Caption:='';

Var6.Caption:='';

DBText1.Visible:=true;

Var1.Visible:=false;

Var2.Visible:=false;

Var3.Visible:=false;

Var4.Visible:=false;

Var5.Visible:=false;

Var6.Visible:=false;

Button1.Visible:=true;

for ixyy:=1 to ADOTable4.RecordCount do

begin

ADOTable4.Delete;

ADOTable4.Next;

end;

for ixxx:=1 to ADOTable3.RecordCount do

begin

ADOTable3.Delete;

ADOTable3.Next;

end;

PageControl1.ActivePageIndex := 0;

TabSheet1.Enabled := true;

TabSheet2.Enabled := false;

TabSheet3.Enabled := false;

end;

end.

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


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

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

    курсовая работа [506,5 K], добавлен 21.02.2011

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

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

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

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

  • Система программирования Delphi, ее характеристика. Основные требования к обучающей программе. Составление блок-схемы алгоритма программы "Математика. 1 класс". Виды задач для решения в обучающей программе. Описание работы системы, инструкция к ней.

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

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

    дипломная работа [448,5 K], добавлен 08.11.2010

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

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

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

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

  • Создание программы "MP3 Player", воспроизводящей аудио файлы формата MP3 для работы в операционной системе Windows с использованием языка программирования Delphi. Разработка интерфейса, алгоритма и документации к разработанному программному продукту.

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

  • Сущность информационной безопасности. Руководство системного программиста. Запуск и работа в программе. Редактирование и добавление материала. Разработка электронного учебного пособия на тему "шифрование информации" в среде программирования Delphi.

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

  • Создание автоматизированного рабочего места по технике безопасности и охране труда на малом предприятии. Требования к аппаратному обеспечению. Математическая модель контрольного тестирования и структура данных. Алгоритм работы пользователя системы.

    дипломная работа [806,3 K], добавлен 22.10.2013

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