⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginu.~pas

📁 源代码竟供大家参考
💻 ~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 + -