unit6.pas
来自「考试系统,有学生考试,查询成绩,老师管理题库,生成试卷,查询成绩功能.」· PAS 代码 · 共 223 行
PAS
223 行
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, DBCtrls, jpeg, DB, DBTables,
Buttons, Grids, DBGrids;
type
TForm6 = class(TForm)
Button1: TButton;
Image1: TImage;
DBMemo1: TDBMemo;
DBText2: TDBText;
DBText5: TDBText;
Image2: TImage;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label3: TLabel;
Label6: TLabel;
DBText6: TDBText;
Timer1: TTimer;
Table1: TTable;
DataSource1: TDataSource;
DBText3: TDBText;
Label8: TLabel;
Label7: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
SpeedButton3: TSpeedButton;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
DBText4: TDBText;
Label9: TLabel;
Label10: TLabel;
Table2: TTable;
DataSource2: TDataSource;
Table3: TTable;
DataSource3: TDataSource;
DBGrid1: TDBGrid;
Memo1: TMemo;
Button2: TButton;
Label11: TLabel;
Button3: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit8,Unit1,Unit5;
var count,i,j:integer;
asw:array[1..10]of String;
num:integer;
{$R *.dfm}
procedure TForm6.Timer1Timer(Sender: TObject);
begin
label4.Caption:=timetostr(time);
if label4.Caption=label5.Caption then
begin
Table1.First;
Table3.Locate('学号',inttostr(Unit1.username),[]);
for i:=1 to 10 do //算分,记录答案
begin
if asw[i]=Table1.FieldByName('答案').AsString then
count:=count+Table1.FieldByName('分值').AsInteger;
Table1.Next;
end;
for j:=1 to Table2.RecordCount do //添加到学生信息的数据库
begin
Table2.RecNo:=j;
if Table2.FieldByName('学号').AsInteger=Unit1.username then
begin
Table2.Edit;
if Unit5.ke=0 then
Table2.FieldByName('数学成绩').AsInteger:=count;
if Unit5.ke=1 then
Table2.FieldByName('英语成绩').AsInteger:=count;
if Unit5.ke=2 then
Table2.FieldByName('语文成绩').AsInteger:=count;
Table2.Post;
end;
end;
showMessage('对不起!时间已到,你本次考试的分数为'+inttostr(count)+'分');
Form6.Hide;
Form8.Show;
end
end;
procedure TForm6.Button1Click(Sender: TObject);
begin
Table1.First;
Table3.Locate('学号',inttostr(Unit1.username),[]);
for i:=1 to 10 do //算分,记录答案
begin
if asw[i]=Table1.FieldByName('答案').AsString then
count:=count+Table1.FieldByName('分值').AsInteger;
Table1.Next;
end;
for j:=1 to Table2.RecordCount do //添加到学生信息的数据库
begin
Table2.RecNo:=j;
if Table2.FieldByName('学号').AsInteger=Unit1.username then
begin
Table2.Edit;
if Unit5.ke=0 then
Table2.FieldByName('数学成绩').AsInteger:=count;
if Unit5.ke=1 then
Table2.FieldByName('英语成绩').AsInteger:=count;
if Unit5.ke=2 then
Table2.FieldByName('语文成绩').AsInteger:=count;
Table2.Post;
end;
end;
showMessage('你本次考试的分数为'+inttostr(count)+'分');
Form6.Hide;
Form8.Show;
end;
procedure TForm6.SpeedButton1Click(Sender: TObject);
begin
Table1.Prior;
Edit1.Text:=' ';
end;
procedure TForm6.SpeedButton2Click(Sender: TObject);
begin
Table1.Next;
Edit1.Text:='';
end;
procedure TForm6.SpeedButton3Click(Sender: TObject);
begin
Table1.First;
Edit1.Text:='';
end;
procedure TForm6.SpeedButton4Click(Sender: TObject);
begin
Table1.Last;
Edit1.Text:='';
end;
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
Edit1.Text:='';
end;
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
num:=Table1.FieldByName('题号').AsInteger;
asw[num]:=Edit1.Text;
Table3.Edit;
Table3.FieldByName('第'+inttostr(num)+'题').AsString:=Edit1.Text;
Table3.Post;
Table1.Next;
Edit1.Text:='';
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
memo1.Visible:=false;
button2.Visible:=false;
Table3.Active:=False;
Table3.Filtered:=True;
Table3.Filter:='学号='+inttostr(Unit1.username);
count:=0;
if Unit5.ke=0 then
begin
Table1.TableName:='数学试卷.db' ;
Table3.TableName:='数学答案.db';
end;
if Unit5.ke=1 then
begin
Table1.TableName:='英语试卷.db' ;
Table3.TableName:='英语答案.db';
end;
if Unit5.ke=2 then
begin
Table1.TableName:='语文试卷.db';
Table3.TableName:='语文答案.db';
end;
Table1.Active:=True;
Table3.Active:=True;
Table1.First;
if table1.FieldByName('分值').AsString='' then
messagedlg('试卷还未生成',mterror,[mbok],0)
else
begin
label6.Caption:=timetostr(time);
label5.Caption:=timetostr(time+strtotime('20:00:00'));
end;
end;
procedure TForm6.Button3Click(Sender: TObject);
begin
form6.Hide;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?