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

📄 longon.pas

📁 DELPHI计算机科学系教务管理系统,带论文设计,不错的参考
💻 PAS
字号:
unit Longon;

interface

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

type
  TLogonForm = class(TForm)
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    Panel2: TPanel;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    ADOQuery1: TADOQuery;
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    function checkuser(uname, upwd: string): boolean;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  LogonForm: TLogonForm;
   count:integer;
implementation

uses DataModul, mainunit;

{$R *.dfm}

procedure TLogonForm.Timer1Timer(Sender: TObject);
begin
  statusbar1.Panels[1].Text:=datetimetostr(now);
end;

procedure TLogonForm.Button2Click(Sender: TObject);
begin
  if Application.MessageBox('确定要取消吗?', '取消',
     MB_ICONINFORMATION + MB_YESNO)= id_yes then
     application.Terminate;
end;

procedure TLogonForm.Button1Click(Sender: TObject);
begin
 if (edit1.text='') then
      begin
          application.MessageBox('用户名不能为空','错误提示',mb_ok);
          count:=count+1;
            if (count=3) then
               begin
               application.MessageBox('用户名或密码输入错误三次,系统即将退出!','提示',mb_ok);
               application.Terminate;
               end;
            edit2.Text:='';
            edit1.SetFocus;
       end
else  
if  checkuser(edit1.Text,edit2.Text)=false then
      begin
          application.MessageBox('用户名或密码输入有误','错误提示',mb_ok);
          count:=count+1;
            if (count=3) then
               begin
               application.MessageBox('用户名或密码输入错误三次,系统即将退出!','提示',mb_ok);
               application.Terminate;
               end;
            edit2.Text:='';
            edit1.SetFocus;
       end
      else
      if checkuser(edit1.Text,edit2.Text)=true then
        begin
          logonForm.Close;
        end ;

end;

function TLogonForm.checkuser(uname, upwd: string): boolean;
var
  userquery:TAdoquery;
  sqlstr:string;
begin
  userquery:=TAdoquery.Create(self);
  with  userquery do
   begin
       connection :=dm.ADOConnection1;
       sqlstr:='select * from Tuser  where UName=:uname and UPassWord=:upwd';
       sql.Text:=sqlstr;
       parameters.ParamByName('uname').Value:=uname;
       parameters.ParamByName('upwd').Value:=upwd;
       active:=true;
       try
          if recordcount>0 then
           begin
               result:=true;
               dm.uno:=fieldbyname('uno').AsString;
               dm.uname:=fieldbyname('uname').AsString;
           end
           else
               result:=false;
       finally
           close;
           free;
       end;
   end;

end;

procedure TLogonForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    Perform(WM_NEXTDLGCTL, 0, 0);
end;

procedure TLogonForm.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    begin
     button1.Click;
    end;
end;


procedure TLogonForm.FormShow(Sender: TObject);
begin
  edit1.SetFocus;
end;

procedure TLogonForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if dm.uno= '' then
         application.Terminate ;
end;

end.

⌨️ 快捷键说明

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