?? loginunit.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 + -