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

📄 useroparetfm.pas.~1~

📁 一款房产中介软件
💻 ~1~
字号:
Unit UserOparet;

Interface

Uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, DB, ADODB, StdCtrls, LbButton, AAFont, AACtrls;

Type
   TUserOparet = Class(TForm)
      GroupBox2: TGroupBox;
      Label1: TLabel;
      Label2: TLabel;
      Edit1: TEdit;
      Edit2: TEdit;
      ADOQuery1: TADOQuery;
      Label4: TLabel;
      Edit3: TEdit;
      StaticText1: TStaticText;
      LbButton1: TLbButton;
      LbButton2: TLbButton;
      LbButton3: TLbButton;
      AAText1: TAAText;
      DataSource1: TDataSource;
      Function IsExists(username: String): Boolean;
      Procedure FlashGrid;
      Procedure Button1Click(Sender: TObject);
      Procedure Button2Click(Sender: TObject);
      Procedure Edit1Exit(Sender: TObject);
      Procedure Button3Click(Sender: TObject);
      Procedure FormCreate(Sender: TObject);
      Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
      Procedure Edit1Change(Sender: TObject);
   Private
        { Private declarations }
   Public
        { Public declarations }
   End;
Const
   CSNAME           = 'ADMIN';
Var
   UserOparetform   : TUserOparet;
   currusername     : String;

Implementation
Uses CnBase64, DM;
{$R *.dfm}

Procedure TUserOparet.FlashGrid;
Begin
   ADOQuery1.sql.Clear;
   ADOQuery1.sql.Add('SELECT * FROM 用户登入表');
   ADOQuery1.open;
End;

Procedure TUserOparet.Edit1Exit(Sender: TObject);
Var
   code             : String;
Begin
   If IsExists(Edit1.Text) Then Begin
      Base64Decode(ADOQuery1.fieldbyname('密码').AsString, code);
      Edit2.Text := code;
   End;
End;

//新增

Procedure TUserOparet.Button1Click(Sender: TObject);
Var
   Psw64            : String;
Begin
   If StrComp(pchar(Edit2.Text), pchar(Edit3.Text)) <> 0 Then Begin
      Application.MessageBox('两次输入的密码不一致,请重新输入。',
         '提示信息',
         mb_OK + MB_ICONINFORMATION);
      Exit;
   End;
   ADOQuery1.sql.Text := 'select * from 用户登入表';
   ADOQuery1.open;
   If ADOQuery1.recordcount = 0 Then Begin
      ADOQuery1.Append;
      ADOQuery1.fieldbyname('用户名').AsString := Trim(Edit1.Text);
      Base64Encode(Edit2.Text, Psw64);
      ADOQuery1.fieldbyname('密码').AsString := Psw64;
      ADOQuery1.post;
      Application.MessageBox('用户名添加成功', '提示信息', mb_OK +
         MB_ICONINFORMATION);
      Exit;
   End;
   If (Edit1.Text = '') Or (Edit2.Text = '') Then Begin
      Application.MessageBox('设置的用户名和密码不能为空,请重新输入!',
         '提示信息', mb_OK + MB_ICONERROR);
      Edit1.SetFocus;
      Exit;
   End;
   If IsExists(Edit1.Text) Then Begin
      Application.MessageBox('用户名重复,请重新输入!', '提示信息', mb_OK +
         MB_ICONERROR);
      Edit1.Clear;
      Edit2.Clear;
      Edit3.Clear;
      Edit1.SetFocus;
      Exit;
   End;

   FlashGrid;
   ADOQuery1.Append;
   ADOQuery1.fieldbyname('用户名').AsString := Trim(Edit1.Text);
   Base64Encode(Edit2.Text, Psw64);
   ADOQuery1.fieldbyname('密码').AsString := Psw64;
   ADOQuery1.post;
   Application.MessageBox('用户名添加成功', '提示信息', mb_OK +
      MB_ICONINFORMATION);

End;

Function TUserOparet.IsExists(username: String): Boolean;
Begin
   ADOQuery1.sql.Text := 'select * from 用户登入表 where 用户名=''' +
      username + '''';
   ADOQuery1.open;
   result := (ADOQuery1.recordcount = 1);

End;

Procedure TUserOparet.Button2Click(Sender: TObject);
Begin
   If UpperCase(Edit1.Text) = CSNAME Then Begin
      Application.MessageBox(CSNAME + '是超級用戶,無法刪除!', '提示信息',
         mb_OK);
      Edit1.SetFocus;
      Exit;
   End;
   If Not IsExists(Edit1.Text) Then Begin
      Application.MessageBox('没有该用户名,请检查!', '提示信息', mb_OK);
      Edit1.SetFocus;
      Exit;
   End;

   If ADOQuery1.recordcount = 0 Then Exit;
   ADOQuery1.Delete;
   Edit1.Clear;
   Edit2.Clear;
   Application.MessageBox('用户名删除成功', '提示信息', mb_OK +
      MB_ICONINFORMATION);
   FlashGrid;

End;

Procedure TUserOparet.Button3Click(Sender: TObject);
Var
   Psw64            : String;
Begin
   If (Edit1.Text = '') Or (Edit2.Text = '') Then Begin
      Application.MessageBox('设置的用户名和密码不能为空,请重新输入!',
         '提示信息', mb_OK + MB_ICONERROR);
      Edit1.SetFocus;
      Exit;
   End;
   If StrComp(pchar(Edit2.Text), pchar(Edit3.Text)) <> 0 Then Begin
      Application.MessageBox('两次输入的密码不一致,请重新输入。',
         '提示信息',
         mb_OK + MB_ICONINFORMATION);
      Exit;
   End;
   If Not IsExists(Edit1.Text) Then Begin
      Application.MessageBox('没有该用户名,请检查!', '提示信息', mb_OK);
      Edit1.SetFocus;
      Exit;
   End;
   If StrComp(pchar(currusername), pchar(Edit1.Text)) <> 0 Then Begin
      Application.MessageBox('你无权修改这个用户的密码', '提示信息', mb_OK +
         MB_ICONERROR);
      Exit;
   End;

   ADOQuery1.edit;
   If UpperCase(Edit1.Text) <> CSNAME Then
      ADOQuery1.fieldbyname('用户名').AsString := Trim(Edit1.Text);
   Base64Encode(Edit2.Text, Psw64);
   ADOQuery1.fieldbyname('密码').AsString := Psw64;
   ADOQuery1.post;
   FlashGrid;
   Application.MessageBox('密码已修改成功', '提示信息', mb_OK +
      MB_ICONINFORMATION);

End;

Procedure TUserOparet.FormCreate(Sender: TObject);
Begin
   Edit1.Text := currusername;
   StaticText1.Caption := '當前用戶:' + currusername;
   If currusername = CSNAME Then
      StaticText1.Caption := StaticText1.Caption + ' (超級用戶)';
End;

Procedure TUserOparet.FormClose(Sender: TObject; Var Action: TCloseAction);
Begin
   ADOQuery1.Close;
   Action := cafree;
   UserOparetform := Nil;
End;

Procedure TUserOparet.Edit1Change(Sender: TObject);

Begin
   If UpperCase(currusername) = CSNAME Then Begin
      LbButton1.Enabled := true;
      LbButton2.Enabled := true;
      LbButton3.Enabled := true;
   End
   Else If UpperCase(currusername) = UpperCase(Edit1.Text) Then Begin
      LbButton1.Enabled := false;
      LbButton2.Enabled := false;
      LbButton3.Enabled := true;
   End
   Else Begin
      LbButton1.Enabled := false;
      LbButton2.Enabled := false;
      LbButton3.Enabled := false;
   End;
End;

End.

⌨️ 快捷键说明

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