?? user.~pa
字號:
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('請?zhí)钊胄彰?,謝謝!', 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('請為此用戶選擇一權(quán)限!');
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;
{權(quán)限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 + -