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

📄 loginunit.pas

📁 是一个Delphi的教材管理系统,内容很全面详细
💻 PAS
字号:
unit LoginUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DB, ADODB, StdCtrls, Buttons,iniFiles;

type
  TfrmLogin = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    OperatorIDEdit: TEdit;
    PwdEdit: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    LoginQuery: TADOQuery;
    Panel3: TPanel;
    Label3: TLabel;
    HostEdit: TEdit;
    DBEdit: TEdit;
    Label4: TLabel;
    SpeedButton1: TSpeedButton;
    AdvanceBtn: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure AdvanceBtnClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    procedure CheckValue();{ Private declarations }
    procedure SaveIni();
  public
   // Settings:TSetupConfig;{ Public declarations }
  end;

var
  frmLogin: TfrmLogin;

implementation

uses DataModuleUnit, MainUnit, CommonUnit;

{$R *.dfm}
//保存配置信息
procedure TfrmLogin.SaveIni();
begin
  with frmMain.Settings do
  begin
    SetHost:=HostEdit.Text;
    SetDataBaseName:=DBEdit.Text;
    SaveConfig;
  end;
end;
//检查Edit是否为空
procedure TfrmLogin.CheckValue();
begin;
    if Trim(OperatorIDEdit.Text)='' then
    begin
      ShowMessage('用户名不能为空!');
      abort;
    end;
    if Trim(PwdEdit.Text)='' then
    begin
      ShowMessage('密码不能为空!');
      abort;
    end;
end;
//用户登录
procedure TfrmLogin.BitBtn1Click(Sender: TObject);
begin
  self.CheckValue;
  with LoginQuery do
  begin
    Parameters.Clear;//添加参数    
    Parameters.CreateParameter('@OperatorID',ftstring,pdinput,8,self.OperatorIDEdit.Text);
    Parameters.CreateParameter('@OperatorID',ftstring,pdinput,8,self.PwdEdit.Text);
    Open;
  end;
  if loginQuery.RecordCount>0 then
  begin   //记录登录信息
    with frmMain.OperatorInfo do
    begin
      OperatorID:=LoginQuery.Fields[0].AsString;
      OperatorPWD:=loginQuery.Fields[1].AsString;
      OperatorPower[1]:=strtobool(LoginQuery.Fields[2].AsString);
      OperatorPower[2]:=strtobool(LoginQuery.Fields[3].AsString);
      OperatorPower[3]:=strtobool(LoginQuery.Fields[4].AsString);
      OperatorPower[4]:=strtobool(LoginQuery.Fields[5].AsString);
      OperatorName:=LoginQuery.Fields[6].AsString;
      frmMain.StatusBar1.Panels[1].Text:=OperatorID;
      frmMain.StatusBar1.Panels[3].Text:=OperatorName;
    end;

    LoginQuery.Close;
    frmMain.Settings.LastOperatorID:=OperatorIDEdit.Text; //保存用户名
    frmMain.Settings.SaveConfig;
    close;
  end
  else
  begin
      ShowMessage('你输入的用户名或密码错误!');
      LoginQuery.Close;
  end;
end;

procedure TfrmLogin.FormActivate(Sender: TObject);
begin
  LoginQuery.Connection:=frmDataModule.Connection;
  OperatorIDEdit.Text:=frmMain.Settings.LastOperatorID;
end;

procedure TfrmLogin.BitBtn2Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TfrmLogin.AdvanceBtnClick(Sender: TObject);
begin
  AdvanceBtn.Enabled:=false;
  self.Height:=340;
  panel3.Visible:=true;
end;

procedure TfrmLogin.SpeedButton3Click(Sender: TObject);
begin
  self.Height:=270;
  panel3.Visible:=false;
  AdvanceBtn.Enabled:=true;
end;

procedure TfrmLogin.FormCreate(Sender: TObject);
begin
   self.Height:=270;
   HostEdit.Text:=frmMain.Settings.SetHost;
   DBEdit.Text:=frmMain.Settings.SetDataBaseName;
end;

procedure TfrmLogin.SpeedButton1Click(Sender: TObject);
begin
    if Trim(HostEdit.Text)='' then
    begin
      ShowMessage('IP/主机名不能为空!');
      HostEdit.SetFocus;
      abort;
    end;
    if Trim(DBEdit.Text)='' then
    begin
      ShowMessage('数据库名不能为空!');
      DBEdit.SetFocus;
      abort;
    end;
  self.SaveIni();
  Application.MessageBox('保存成功,请重新启动本系统!','提示',mb_ok);
  WinExec(pchar(paramstr(0)),0);
  Application.Terminate;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -