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

📄 usermanager.pas

📁 一个图书批发商的通用软件
💻 PAS
字号:
unit UserManager;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, dxEdLib, dxCntner, dxEditor, dxDBELib, StdCtrls,
  ExtCtrls, dxTL, dxDBCtrl, dxDBGrid, ImgList, ComCtrls, ToolWin, DB, ADODB,
  Mask, DBCtrls, dxDBTL, dxBar, dxBarExtItems;

type
  TFrmUserManager = class(TForm)
    Panel2: TPanel;
    Panel1: TPanel;
    Panel3: TPanel;
    Bevel1: TBevel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label2: TLabel;
    Bevel2: TBevel;
    Label1: TLabel;
    Panel4: TPanel;
    DataSource1: TDataSource;
    rbManager: TRadioButton;
    rbMoney: TRadioButton;
    rbHouse: TRadioButton;
    qryUser: TADOQuery;
    edtUserId: TDBEdit;
    edtUserName: TDBEdit;
    qryUserUserId: TWideStringField;
    qryUserUserName: TWideStringField;
    dxDBGrid1: TdxDBGrid;
    dxDBGrid1UserId: TdxDBGridColumn;
    dxDBGrid1UserName: TdxDBGridColumn;
    qryUserUserPassword: TWideStringField;
    qryUserUserPower: TWideStringField;
    edtPasswordbak: TEdit;
    edtPassword: TEdit;
    dxBarManager1: TdxBarManager;
    dxBarLargeButton1: TdxBarLargeButton;
    dxBarLargeButton2: TdxBarLargeButton;
    dxBarLargeButton3: TdxBarLargeButton;
    dxBarLargeButton4: TdxBarLargeButton;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure qryUserAfterScroll(DataSet: TDataSet);
    procedure qryUserBeforePost(DataSet: TDataSet);
    procedure qryUserAfterPost(DataSet: TDataSet);
    procedure dxBarLargeButton1Click(Sender: TObject);
    procedure dxBarLargeButton3Click(Sender: TObject);
    procedure dxBarLargeButton2Click(Sender: TObject);
    procedure dxBarLargeButton4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmUserManager: TFrmUserManager;
  procedure FrmUserManagerShow;
implementation

uses Data, unSystPublic;

{$R *.dfm}

procedure FrmUserManagerShow;
begin
  FrmUserManager :=TFrmUserManager.Create(Application);
  with FrmUserManager do
  begin
    try
      ShowModal;
    finally
      Free;
    end;
  end;
end;
procedure TFrmUserManager.FormShow(Sender: TObject);
begin
  with qryUser do
  begin
    Close;
    SQL.Text :='Select * from tbUsers';
    Open;
    if not Locate('UserId',CurrentUserId,[loCaseInsensitive]) then
    begin
      Application.MessageBox('数据库错误',Title,MB_ICONWARNING);
      Abort;
    end;
    if FieldByName('UserPower').AsString='1' then
    rbManager.Checked :=true
    else if FieldByName('UserPower').AsString='2' then
    rbMoney.Checked :=true
    else if FieldByName('UserPower').AsString='3' then
    rbHouse.Checked :=true;
  end;
end;

procedure TFrmUserManager.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  qryUser.Close;
end;

procedure TFrmUserManager.qryUserAfterScroll(DataSet: TDataSet);
begin
  with qryUser do
  begin
    if FieldByName('UserPower').AsString='1' then
    rbManager.Checked :=true
    else if FieldByName('UserPower').AsString='2' then
    rbMoney.Checked :=true
    else if FieldByName('UserPower').AsString='3' then
    rbHouse.Checked :=true;
  end;
end;

procedure TFrmUserManager.qryUserBeforePost(DataSet: TDataSet);
begin
  if edtUserId.Text ='' then
  begin
    Application.MessageBox('登陆名不能为空',Title,MB_ICONWARNING);
    Abort;
  end else
  begin
    with dmData.qryTemp do
    begin
      Close;
      SQL.Text :='select * from tbUsers where UserId='''+edtUserId.Text+'''';
      Open;
      if (not IsEmpty)and(state in[dsEdit]) then
      begin
       Application.MessageBox('登陆名不能重复',Title,MB_ICONWARNING);
       Abort;
      end;  
    end;
  end;
  if edtPassword.Text<>edtPasswordbak.Text then
  begin
    Application.MessageBox('口令和确认口令不一致',Title,MB_ICONWARNING);
    Abort;
  end;
  with qryUser do
  begin
    FieldByName('UserPassWord').AsString :=edtPassword.Text;
    if rbManager.Checked then
    FieldByName('UserPower').AsString :='1'
    else if rbMoney.Checked then
    FieldByName('UserPower').AsString :='2'
    else  if rbHouse.Checked then
    FieldByName('UserPower').AsString :='3';
  end;
  edtUserId.Color :=clBtnFace;
  edtUserId.ReadOnly :=True;
end;

procedure TFrmUserManager.qryUserAfterPost(DataSet: TDataSet);
begin
  edtPassword.Text :='';
  edtPasswordbak.Text :='';
end;

procedure TFrmUserManager.dxBarLargeButton1Click(Sender: TObject);
begin
  edtUserId.Color :=clWhite;
  edtUserId.ReadOnly :=False;
  edtPassword.Text :='';
  edtPasswordbak.Text :='';
  edtUserId.SetFocus;
  qryUser.Append;
  edtUserId.SetFocus;
end;

procedure TFrmUserManager.dxBarLargeButton3Click(Sender: TObject);
begin
  if Application.MessageBox('真的要删除此用户吗?',title,MB_ICONQUESTION+MB_YESNO)=idyes then
  qryUser.Delete;
end;

procedure TFrmUserManager.dxBarLargeButton2Click(Sender: TObject);
begin
  qryUser.Edit;
  qryUser.Post;
end;

procedure TFrmUserManager.dxBarLargeButton4Click(Sender: TObject);
begin
  qryUser.Close;
  close;
end;

end.

⌨️ 快捷键说明

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