loginunit.pas

来自「Delphi编写的通讯录」· PAS 代码 · 共 130 行

PAS
130
字号
unit LoginUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, DBTables, Buttons, StdCtrls, jpeg, ExtCtrls;

type
  TLoginForm = class(TForm)
    QLogin: TQuery;
    QLDS: TDataSource;
    Image1: TImage;
    Label1: TLabel;
    edtUser: TEdit;
    Label2: TLabel;
    edtPwd: TEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }


  end;

var
  LoginForm: TLoginForm;

implementation

uses MainUnit, AboutUnit, AddAccountUnit;

{$R *.dfm}


procedure TLoginForm.FormCreate(Sender: TObject);
var

  ap:TStringList;   {字符串列表变量}
  filename:string;
begin

  filename:=ExtractFilePath(ParamStr(0)) + 'MDB';
  ap:=TStringlist.Create;
  Session.GetAliasNames(ap);   {取得别名列表}
  if (ap.IndexOf('Addressbook')=-1) then   {判断别名是否存在}
    begin
      Session.AddStandardAlias('Addressbook',filename,'Paradox');
      Session.SaveConfigFile;    {BDE配置文件存盘}
    end
  else
    begin
      Session.DeleteAlias('Addressbook');
      Session.AddStandardAlias('Addressbook',filename,'Paradox');
      Session.SaveConfigFile;
    end;
  ap.Clear;
  QLogin.DatabaseName:='Addressbook';
  if QLogin.Active=true then
    QLogin.Close;
  Session.AddPassword('02091');
  QLogin.SQL.Add('select * from Login');
  QLogin.Prepare;
  QLogin.Open;

end;

procedure TLoginForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  QLogin.Close;

end;

procedure TLoginForm.SpeedButton1Click(Sender: TObject);
var
  i:integer;
  t:boolean;
begin
  i:=0;
  t:=false;
  QLogin.First;

  repeat
    if edtUser.Text=QLogin.FieldByName('User').AsString then
      begin
        i:=i+1;
        if edtPwd.Text=QLogin.FieldByName('Pwd').AsString then
          begin
            edit1.Text:=Qlogin.FieldValues['Purview'];
            mainform.show;
            Loginform.Hide;
            t:=true;
            QLogin.Close;
            break;
          end
        else
          begin
            t:=false;
            QLogin.Next;
          end;
      end
    else
      begin
        QLogin.Next;
      end;
  until QLogin.Eof;

  if i=0 then
    showmessage('用户名不存在!');
  if (i<>0) and (t=false) then
    showmessage('密码错误!');


end;

procedure TLoginForm.SpeedButton2Click(Sender: TObject);
begin
  QLogin.Close;
  close;
end;

end.

⌨️ 快捷键说明

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