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

📄 untlogin.~pas

📁 1、通过串口连接手机或短信终端发送短信; 2、内置Access数据库
💻 ~PAS
字号:
unit UntLogin;

interface

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

type
  TFrmLogin = class(TForm)
    Label1: TLabel;
    Panel2: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Edit_username: TEdit;
    edit_password: TEdit;
    SpdBtnOK: TSpeedButton;
    SpdBtnCancel: TSpeedButton;
    lblConnect: TLabel;
    procedure Edit_usernameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit_passwordKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpdBtnOKClick(Sender: TObject);
    procedure SpdBtnCancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit_usernameEnter(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateParams(var Params: TCreateParams); override;    
  end;

  TUser=record
    ID:string;
    Name:string;
    nPrivilige:integer;
    MobilePhone:string;
  end;

var
  FrmLogin: TFrmLogin;
  Passed:Boolean=True;
  LoginUser:TUser;
  
implementation

uses UntDM,UntSQL;

{$R *.dfm}

{ TFrmLogin }


procedure TFrmLogin.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or WS_THICKFRAME ;
end;

procedure TFrmLogin.Edit_usernameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_ESCAPE then SpdBtnCancel.Click
  else if Key=VK_RETURN then SpdBtnOK.Click;
end;

procedure TFrmLogin.edit_passwordKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_ESCAPE then SpdBtnCancel.Click
  else if Key=VK_RETURN then SpdBtnOK.Click;
end;

procedure TFrmLogin.SpdBtnOKClick(Sender: TObject);
var
  sCheckSQL:string;
begin
  Passed := True;
  LoginUser.nPrivilige := 2;
  //第二步,核查登录用户名密码
  if DM1.QryLogin.Connection.Connected then
  begin
    frmLogin.lblConnect.Caption := '';
    try
      DM1.QryLogin.Close;
      sCheckSQL := 'Select 用户ID, 用户名, 口令, 姓名, 手机号, 权限, 是否禁用 from 用户信息字典 ';
      sCheckSQL := sCheckSQL + ' where 是否禁用<> ' + '''' + '禁用' + '''';
      sCheckSQL := sCheckSQL + '   and 用户名= ' + '''' + StrToSQL(trim(Edit_username.Text)) + '''';
      sCheckSQL := sCheckSQL + '   and (口令= ' + '''' + StrToSQL(trim(edit_password.Text)) + '''';
      sCheckSQL := sCheckSQL + '         or 口令 is null )';
      DM1.QryLogin.SQL.Text := sCheckSQL;
      DM1.QryLogin.Open;
    except
      Passed := False;
    end;
    if Passed then
    begin
      if DM1.QryLogin.RecordCount=0 then Passed := False
      else DM1.QryLogin.First;
    end;
    if not Passed then
    begin
      Application.MessageBox('用户名口令有误!','警告');
      exit;
    end else
    begin
      try
        LoginUser.ID := DM1.QryLogin.FieldByName('用户ID').AsString;
        LoginUser.Name := DM1.QryLogin.FieldByName('姓名').AsString;
        LoginUser.nPrivilige := DM1.QryLogin.FieldByName('权限').AsInteger;
        LoginUser.MobilePhone := DM1.QryLogin.FieldByName('手机号').AsString ;
      except
        LoginUser.nPrivilige := 2;
      end;
      DM1.QryLogin.Close;
    end;

    frmLogin.Close;
  end;
end;

procedure TFrmLogin.SpdBtnCancelClick(Sender: TObject);
begin
  Passed := False;
  close;
end;

procedure TFrmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if frmLogin <> nil then
  begin
    frmLogin.Release;
    frmLogin := nil;
  end;
end;

procedure TFrmLogin.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_ESCAPE then SpdBtnCancel.Click;
end;

procedure TFrmLogin.Edit_usernameEnter(Sender: TObject);
begin
  Edit_username.ImeMode := imDisable;
end;

end.

⌨️ 快捷键说明

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