📄 loginu.pas
字号:
unit LoginU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ADODB, Buttons,GlobalU, ComCtrls;
type
TFrmLogin = class(TForm)
LbEdtName: TLabeledEdit;
LbEdtID: TLabeledEdit;
ComboBox1: TComboBox;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel1: TPanel;
ProgressBar1: TProgressBar;
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogin: TFrmLogin;
implementation
uses dmU, DB;
{$R *.dfm}
procedure TFrmLogin.FormCreate(Sender: TObject);
begin
with TADOQuery.Create(nil) do
try
Connection := DmGlobal.dbsystem;
SQL.Add('select 区队名 from 区队信息');
Open;
First;
while not eof do
begin
Self.ComboBox1.Items.Add(Fields[0].asstring);
Next;
end;
finally
free;
end;
end;
procedure TFrmLogin.Button2Click(Sender: TObject);
begin
close;
end;
procedure TFrmLogin.BitBtn1Click(Sender: TObject);
var sqlstr: string;
begin
if ComboBox1.ItemIndex=-1 then
begin
MessageBox(Handle,'请选择区队。','提示',48);
ModalResult := mrNone;
ComboBox1.SetFocus;
exit;
end;
if trim(LbEdtName.Text)='' then
begin
MessageBox(Handle,'请输入姓名。','提示',48);
ModalResult := mrNone;
LbEdtName.SetFocus;
exit;
end;
if trim(LbEdtID.Text)='' then
begin
MessageBox(Handle,'请输入学号。','提示',48);
ModalResult := mrNone;
LbEdtID.SetFocus;
exit;
end;
if MessageBox(Handle,pchar('您输入的信息为:'+#13+#13+
'区队:'+ComboBox1.Items[ComboBox1.ItemIndex]+#13+
'姓名:'+LbEdtName.Text+#13+
'学号:'+LbEdtID.Text+#13+#13+
'确认此信息正确吗?'),'提示',4+32+256)=7 then
begin
ModalResult := mrNone;
exit;
end;
//获得系统设置
if not GetSysInfo() then
begin
ModalResult := mrNone;
exit;
end;
case GetStudentInfoByID(LbEdtID.Text) of //0 成功,1无此记录,2意外错误
0:begin //已经有此考生考试记录,查看上次考试是否完成,如果没有完成则继续考试
if StudentInfo.RemainTime<=0 then
begin
MessageBox(Handle,'您已经考过试了,并且已经交过试卷,如有疑问,请联系监考老师。','提示',48);
ModalResult := mrNone;
exit;
end;
end;
1:begin
StudentInfo.LoginTime := now(); //登录时间
StudentInfo.Team := ComboBox1.Items[ComboBox1.ItemIndex]; //考生区队
StudentInfo.Name := LbEdtName.Text; //考生姓名
StudentInfo.ID := LbEdtID.Text; //考生学号
StudentInfo.RemainTime :=SysSetup.TestTimeCnt; //剩余时间
sqlstr := format('insert into 考试记录 (考生区队,考生姓名,考生学号,登录时间,剩余时间) values (''%s'',''%s'',''%s'',''%s'',%d)',
[StudentInfo.Team,StudentInfo.Name,StudentInfo.ID,FormatDatetime('yyyy"-"mm"-"dd hh":"mm":"ss',StudentInfo.LoginTime),StudentInfo.RemainTime]) ;
dmglobal.Query_Exec.Close;
dmglobal.Query_Exec.SQL.Clear;
dmglobal.Query_Exec.SQL.Add(sqlstr);
dmglobal.Query_Exec.ExecSQL();
dmglobal.Query_Exec.Close;
dmglobal.Query_Exec.SQL.Clear;
self.ProgressBar1.Position := 10;
self.ProgressBar1.Position := 20;
self.ProgressBar1.Position := 30;
self.ProgressBar1.Position := 40;
self.ProgressBar1.Position := 50;
GetQuestions(); //随机抽取题目。
self.ProgressBar1.Position := 60;
self.ProgressBar1.Position := 70;
self.ProgressBar1.Position := 80;
self.ProgressBar1.Position := 90;
self.ProgressBar1.Position := 100;
end;
2:begin
ModalResult := mrNone;
exit;
end;
end;
//过滤单选提为当前学号所对应之
dmglobal.ADOTable_SC.Filter := '学号='''+StudentInfo.ID+'''';
dmglobal.ADOTable_SC.Active := true;
dmglobal.ADOTable_SC.Filtered := true;
//过滤多选提为当前学号所对应之
dmglobal.ADOTable_MC.Filter := '学号='''+StudentInfo.ID+'''';
dmglobal.ADOTable_MC.Active := true;
dmglobal.ADOTable_MC.Filtered := true;
//过滤判断提为当前学号所对应之
dmglobal.ADOTable_J.Filter := '学号='''+StudentInfo.ID+'''';
dmglobal.ADOTable_J.Active := true;
dmglobal.ADOTable_J.Filtered := true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -