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

📄 f_login.pas

📁 用Delphi 开发的一个 户籍管理系统
💻 PAS
字号:
unit f_Login;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, SUIForm, StdCtrls, Mask, SUIEdit, DBCtrls, SUIDBCtrls,
  DB, ADODB, SUIButton, Buttons, ScktComp, RzPrgres, RzDBCmbo;

type
  Tfm_login = class(TForm)
    Login: TsuiForm;
    ds_Person: TDataSource;
    Panel_Login: TPanel;
    Label1: TLabel;
    Pswd: TsuiEdit;
    Label2: TLabel;
    suiOK: TsuiButton;
    suiCancel: TsuiButton;
    Panel_ChagePassword: TPanel;
    Label3: TLabel;
    suiOldPswd: TsuiEdit;
    Label4: TLabel;
    suiNewPswd: TsuiEdit;
    Label5: TLabel;
    suiNewPswdAgain: TsuiEdit;
    suiChangePswd: TsuiButton;
    suiNoChange: TsuiButton;
    ChangePswd: TsuiButton;
    AddPeople: TsuiButton;
    Panel_AddPerson: TPanel;
    suiAddPersonOK: TsuiButton;
    suiAddPersonCancel: TsuiButton;
    suiNewPerson: TsuiEdit;
    Label6: TLabel;
    edt_password: TsuiDBEdit;
    CS1: TClientSocket;
    RzProgressBar1: TRzProgressBar;
    cbb_id: TsuiDBLookupComboBox;
    procedure suiOKClick(Sender: TObject);
    procedure suiCancelClick(Sender: TObject);
    procedure suiNoChangeClick(Sender: TObject);
    procedure suiChangePswdClick(Sender: TObject);
    procedure AddPeopleClick(Sender: TObject);
    procedure ChangePswdClick(Sender: TObject);
    procedure suiAddPersonOKClick(Sender: TObject);
    procedure suiAddPersonCancelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    PersonID: integer;
  end;

var
  fm_login: Tfm_login;
  Allowlogin: boolean; //是否打开登录界面

implementation

uses F_RDB, f_md5, f_commfun;
{$R *.dfm}

procedure Tfm_login.suiOKClick(Sender: TObject);
var
  psw: string;
begin
  psw := MD5Print(MD5String(Pswd.Text + 'liniocensus'));
  if psw = self.edt_password.Text then
  begin
    ModalResult := IDOK;
    user.Name := RDB.dst_Person.FieldByName('username').AsString;
    user.islogin:=True;
  end
  else
    ModalResult := IDCancel;
end;

procedure Tfm_login.suiCancelClick(Sender: TObject);
begin
  ModalResult := IDCancel;
end;

procedure Tfm_login.suiNoChangeClick(Sender: TObject);
begin
  Panel_Login.BringToFront;
end;

procedure Tfm_login.suiChangePswdClick(Sender: TObject);
begin
  if edt_password.Text <> MD5Print(MD5String(suiOldPswd.Text)) then
  begin
    showmessage('原始密码错误!');
    exit;
  end;
  if suiNewPswd.Text <> suiNewPswdAgain.Text then
  begin
    showmessage('两次密码输入不一致!');
    exit;
  end;
  RDB.dst_Person.Edit;
  RDB.dst_Person.FieldByName('password').AsString :=
    MD5Print(MD5String(suiNewPswd.Text + 'liniocensus'));
  RDB.dst_Person.Post;
  RDB.dst_Person.UpdateBatch(arAll);
  Panel_Login.BringToFront;
end;

procedure Tfm_login.AddPeopleClick(Sender: TObject);
begin
  Panel_AddPerson.BringToFront;
end;

procedure Tfm_login.ChangePswdClick(Sender: TObject);
begin
  Panel_ChagePassword.BringToFront;
end;

procedure Tfm_login.suiAddPersonOKClick(Sender: TObject);
var
  tmp: string;
begin
  if RDB.sql.Active then
    RDB.sql.Active:=False;
  RDB.sql.SQL.Clear;
  tmp := 'Select * From Admin Where username=''' + suiNewPerson.Text + '''';
  RDB.sql.SQL.Add(tmp);
  RDB.sql.Active:=True;
  RDB.sql.First;
  if not RDB.sql.Eof then
  begin
    showmessage('用户名已被占用!');
    exit;
  end;
  if  not RDB.dst_Person.Active then
      RDB.dst_Person.Active:=true; 
  RDB.dst_Person.Insert;
  RDB.dst_Person.FieldByName('username').AsString := suiNewPerson.Text;
  RDB.dst_Person.FieldByName('password').AsString := MD5Print(MD5String(Pswd.Text
    + 'liniocensus'));
  RDB.dst_Person.Post;
  RDB.dst_Person.UpdateBatch(arAll);
  ShowMessage('新加用户成功!');
end;

procedure Tfm_login.suiAddPersonCancelClick(Sender: TObject);
begin
  Panel_Login.BringToFront;
end;

procedure Tfm_login.FormCreate(Sender: TObject);
begin
  if RDB.dst_PSN.Active = false then
    RDB.dst_PSN.Active := True;
  if RDB.dst_Person.Active = false then
    RDB.dst_Person.Active := True;
  Panel_Login.BringToFront;
end;

end.

⌨️ 快捷键说明

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