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

📄 user.~pas

📁 Barcode And LabelPrint
💻 ~PAS
字号:
unit User;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, infoBase, Grids, DBGrids, StdCtrls, Mask, DBCtrls, wwDialog,
  wwidlg, DB, ADODB, ActnList, ComCtrls, ExtCtrls, ToolWin;

type
  TfrmBUser = class(TfrmInfoBase)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label11: TLabel;
    LabelDate: TLabel;
    DBEdtOptSNum: TDBEdit;
    DBEdtOptSName: TDBEdit;
    EditDate: TEdit;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    CMBPri: TComboBox;
    DBEdtPassWord: TDBEdit;
    EDTPassRep: TEdit;
    QBaseInfoUserNum: TWideStringField;
    QBaseInfoUserName: TWideStringField;
    QBaseInfoUserKey: TWideStringField;
    QBaseInfoupdatedate: TDateTimeField;
    QBaseInfoUserSecurity: TWordField;
    DBGrid2: TDBGrid;
    procedure QBaseInfoBeforePost(DataSet: TDataSet);
    procedure QBaseInfoUserNameValidate(Sender: TField);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
    procedure acNewExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmBUser: TfrmBUser;

implementation

uses StockDataModel, PublicFunction;



{$R *.dfm}

procedure TfrmBUser.QBaseInfoBeforePost(DataSet: TDataSet);
begin
  inherited;
  if (DBEdtOptSName.Text = '') then // (EDTOptsNum.Text = '') or
  begin
    messagedlg('请填入姓名,谢谢!', mtinformation, [mbok, mbno], 0);
    DBEdtOptSName.SetFocus;
    Abort;
  end;
  if DBEdtPassWord.Text <> EDTPassRep.Text then
  begin
    MessageDlg('两次密码输入不一样,请重新输入!', mtinformation, [mbok], 0);
    EDTPassRep.SetFocus;
    Abort;
  end;
  if  cmbpri.ItemIndex=-1 then
  begin
  ShowMessage('请为此用户选择一权限!');
  Abort;
  end;
  if checkValue('users', 'UserNum', DBEdtOptSNum.Text) then
  begin
    if QBaseInfo.State in [dsInsert] then DBEdtOptSNum.Text := '';
  end;
  QBaseInfo.FieldByName('UserSecurity').AsInteger := cmbpri.ItemIndex;
{权限0超级管理员
1普通管理员
2初始化
3出厂设置}


  if trim(DBEdtOptSNum.Text) = '' then QBaseInfo.FieldByName('UserNum').AsString := inttostr(GetNextRecNoMax(StockDM.ADOConn, 'Users', 'UserNum', '', '', 20)); //自动
  QBaseInfo.FieldByName('UpDateDate').AsdateTime := date;

end;

procedure TfrmBUser.QBaseInfoUserNameValidate(Sender: TField);
begin
  inherited;
  if not IsUnique('UserName', Sender.AsString) then
  begin
    showmessage('姓名重复,请重新输入');
    abort;
  end;
end;

procedure TfrmBUser.dsBaseInfoStateChange(Sender: TObject);
var i: integer;
begin
  inherited;

  with GroupBox1 do
    for i := 0 to ControlCount - 1 do
    begin
      if Controls[i] is TDBEdit then
        (Controls[i] as TDBEdit).ReadOnly := not acSave.Enabled
      else if Controls[i] is TDBMemo then
        (Controls[i] as TDBMemo).ReadOnly := not acSave.Enabled;
    end;
  EDTPassRep.ReadOnly := not acSave.Enabled;
  CMBPri.Enabled := acSave.Enabled;
end;

procedure TfrmBUser.dsBaseInfoDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  if not acSave.Enabled then
  begin
    EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
    CMBPri.Text := CMBPri.Items.Strings[QBaseInfo.FieldByName('UserSecurity').AsInteger];
  end;
end;

procedure TfrmBUser.acNewExecute(Sender: TObject);
begin
  DBEdtOptSNum.SetFocus;
  inherited;

end;

procedure TfrmBUser.FormShow(Sender: TObject);
begin
  inherited;
  DBEdtOptSNum.SetFocus;
end;

end.

⌨️ 快捷键说明

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