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

📄 userlogin.~pas

📁 亚惠快餐管理信息系统 包括亚惠快餐管理的各项功能
💻 ~PAS
字号:
unit UserLogin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Mask, Inifiles;

type
  TDfmUserLogin = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Image1: TImage;
    Label4: TLabel;
    UserNameEdit: TEdit;
    Button1: TButton;
    Button2: TButton;
    UserPasswordEdit: TMaskEdit;
    Button3: TButton;
    Button4: TButton;
    ServerNameEdit: TComboBox;
    Timer1: TTimer;
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    ConfirmIdentify: Boolean;
    UserName: string;
    UserPassword: string;
    ServerName: string;
    CloseApp: Boolean;
    NotYesPSW: Boolean;
  end;

procedure SetWork;

implementation

uses Main, RC_ReadRightClass, PublicUnit;

{$R *.dfm}

procedure SetWork;
var
  DfmUserLogin: TDfmUserLogin;
begin
  Application.CreateForm(TDfmUserLogin, DfmUserLogin);
  DfmUserLogin.UserNameEdit.Text := PublicUnit.UserName;
  DfmUserLogin.ShowModal;
  if DfmUserLogin.ConfirmIdentify then
  begin
    PublicUnit.UserName := DfmUserLogin.UserNameEdit.Text;
    PublicUnit.ServerName := DfmUserLogin.ServerNameEdit.Text;
  end;
  DfmUserLogin.Free;
end;

{------------------------------------------------------------------------------}

procedure TDfmUserLogin.FormShow(Sender: TObject);
var
  ti: TIniFile;
  ServerCount, i: integer;
  AServer: string;
begin
  ConfirmIdentify := False;
  ServerName := '';
  UserName := '';
  UserPassword := '';
  CloseApp := False;
  ServerNameEdit.Items.Clear;
  ti := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'System.ini');
  UserNameEdit.Text := ti.ReadString('System', 'LastUser', '访问者');
  ServerCount := ti.ReadInteger('System', 'DBServerCount', 0);
  if ServerCount <> 0 then
    for i := 1 to ServerCount do
    begin
      AServer := ti.ReadString('DBServer', 'DBServer' + IntToStr(i), '');
      ServerNameEdit.Items.Add(AServer);
    end;
  ti.Free;
  UserNameEdit.Focused;
  if ServerCount <> 0 then
    ServerNameEdit.ItemIndex := 0;
end;

procedure TDfmUserLogin.Button1Click(Sender: TObject);
var
  Function_DB_ReadRight: TFunction_DB_ReadRight;
  UserResult: integer;
  RightUserPassWord: string;
  ti: TIniFile;
begin
  if UserNameEdit.Text = '' then
  begin
    ShowMessage('请输入用户名称!');
    NotYesPSW := True;
    Exit;
  end;
  if ((UserPasswordEdit.Text = '') and (UserNameEdit.Text <> '访问者')) then
  begin
    ShowMessage('请输入用户密码!');
    NotYesPSW := True;
    Exit;
  end;
  if ServerNameEdit.Text = '' then
  begin
    ShowMessage('请输入服务器名称!');
    NotYesPSW := True;
    Exit;
  end;
  Screen.Cursor := crHourGlass;
  Refresh;
  UserName := UserNameEdit.Text;
  UserPassWord := UserPasswordEdit.Text;
  ServerName := ServerNameEdit.Text;
  if not CheckDBServer(ServerName) then
  begin
    NotYesPSW := True;
    Exit;
  end;
  Function_DB_ReadRight := TFunction_DB_ReadRight.ACreate(Owner, ServerName);
  Function_DB_ReadRight.UserOrUserGroupName := UserName;
  Function_DB_ReadRight.UserOrUserGroupIdentify := '用户';
  RightUserPassWord := Function_DB_ReadRight.GetUserPassword(UserResult);
  if UserResult <> 1 then
  begin
    Screen.Cursor := crDefault;
    NotYesPSW := True;
    MessageDlg('此用户名不是合法的用户名,请重新输入!', mtInformation, [mbOk],
      0);
    Function_DB_ReadRight.Free;
    Exit;
  end;
  if Trim(LowerCase(UserPassword)) <> Trim(LowerCase(RightUserPassWord)) then
  begin
    Screen.Cursor := crDefault;
    NotYesPSW := True;
    MessageDlg('密码错误,请重新输入!', mtInformation, [mbOk], 0);
    Function_DB_ReadRight.Free;
    Exit;
  end;
  Function_DB_ReadRight.Free;
  ConfirmIdentify := True;
  ModalResult := mrOK;
  ti := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'System.ini');
  ti.WriteString('System', 'LastUser', UserNameEdit.Text);
  ti.Free;
  Close;
  Screen.Cursor := crDefault;
end;

procedure TDfmUserLogin.Button2Click(Sender: TObject);
begin
  NotYesPSW := True;
  Close;
end;

procedure TDfmUserLogin.Button3Click(Sender: TObject);
begin
  MessageDlg('请输入有效的用户名、相应的口令及数据库服务器名称!', mtInformation,
    [mbOk], 0);
end;

procedure TDfmUserLogin.Button4Click(Sender: TObject);
begin
  CloseApp := True;
  NotYesPSW := True;
  Close;
end;

procedure TDfmUserLogin.Timer1Timer(Sender: TObject);
begin
  FlashWindow(Handle, True);
end;

end.

⌨️ 快捷键说明

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