📄 sy110.~pas
字号:
unit SY110;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Single, Menus, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls, StdCtrls,
DBCtrls, Mask;
type
TfmSY110 = class(TfmSingle)
qyMasterCompanyID: TStringField;
qyMasterUserID: TStringField;
qyMasterUserName: TStringField;
qyMasterUserOrGroup: TStringField;
qyMasterGroupID: TStringField;
qyMasterPasswordCode: TStringField;
qyMasterCreateMan: TStringField;
qyMasterCreateDate: TStringField;
qyMasterCreateTime: TStringField;
qyMasterModifyMan: TStringField;
qyMasterModifyDate: TStringField;
qyMasterModifyTime: TStringField;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit2: TDBEdit;
ED7: TEdit;
ED2: TDBEdit;
ED6: TDBEdit;
ED5: TDBEdit;
DBRadioGroup1: TDBRadioGroup;
sbGroupID: TSpeedButton;
qyUsers: TQuery;
qyUsersUserID: TStringField;
qyUsersUserName: TStringField;
qyMasterGroupName: TStringField;
procedure qyMasterNewRecord(DataSet: TDataSet);
procedure qyMasterBeforePost(DataSet: TDataSet);
procedure qyMasterBeforeEdit(DataSet: TDataSet);
procedure dsMasterStateChange(Sender: TObject);
procedure qyMasterUserIDValidate(Sender: TField);
procedure qyMasterUpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
procedure sbGroupIDClick(Sender: TObject);
procedure qyMasterGroupIDValidate(Sender: TField);
private
{ Private declarations }
public
{ Public declarations }
procedure OpenDB; override;
end;
var
fmSY110: TfmSY110;
implementation
uses Main, DataModule, PublicFunction, CheckData, BaseSearch, GetData;
{$R *.DFM}
{ TfmSY110 }
procedure TfmSY110.OpenDB;
begin
qyMaster.Close;
OrderBySQL := 'M.UserID';
qyMaster.SQL.Text := SQLText;
qyMaster.Open;
end;
procedure TfmSY110.qyMasterNewRecord(DataSet: TDataSet);
begin
inherited;
with qyMaster do
begin
FieldByName('UserID').AsString := Space(10);
FieldByName('UserName').AsString := Space(8);
FieldByName('UserOrGroup').AsString := 'U';
FieldByName('GroupID').AsString := Space(10);
FieldByName('PasswordCode').AsString := Space(10);
end;
ED7.Text := '';
end;
procedure TfmSY110.qyMasterBeforePost(DataSet: TDataSet);
begin
inherited;
if qyMaster.FieldByName('UserOrGroup').AsString = 'G' then
qyMaster.FieldByName('GroupID').AsString := qyMaster.FieldByName('UserID').AsString;
if qyMaster.State = dsInsert then
begin
if Trim(qyMaster.FieldByName('UserID').AsString) = '' then
begin
NullWarning('使用者代号');
ED1.SetFocus;
Abort;
end;
with qyTemp do
begin
Close;
SQL.Clear;
SQL.Add('SELECT UserID ');
SQL.Add('FROM Users ');
SQL.Add('WHERE CompanyID = :CompanyID AND UserID = :UserID ');
ParamByName('CompanyID').AsString := sCompanyID;
ParamByName('UserID').AsString := qyMaster.FieldByName('UserID').AsString;
Open;
end;
if qyTemp.FieldByName('UserID').AsString <> '' then
begin
RepeatWarning('使用者代号');
ED1.SetFocus;
Abort;
end;
end;
if Trim(qyMaster.FieldByName('UserName').AsString) = '' then
begin
NullWarning('使用者名称');
ED2.SetFocus;
Abort;
end;
if (qyMaster.FieldByName('UserOrGroup').AsString = 'U') and
(qyMaster.FieldByName('UserID').AsString <> qyMaster.FieldByName('GroupID').AsString) then
begin
if not CheckUserID(qyMaster.FieldByName('GroupID').AsString) then
begin
ED5.SetFocus;
Abort;
end;
end;
if Trim(qyMaster.FieldByName('PasswordCode').AsString) = '' then
begin
NullWarning('通行密码');
ED6.SetFocus;
Abort;
end;
if UpperCase(ED6.Text) <> UpperCase(ED7.Text) then
begin
MyWarning('通行密码与确认密码必须一致!');
ED6.SetFocus;
Abort;
end;
qyMaster.FieldByName('PasswordCode').AsString := UpperCase(ED6.Text);
end;
procedure TfmSY110.qyMasterBeforeEdit(DataSet: TDataSet);
begin
inherited;
ED7.Text := qyMaster.FieldByName('PasswordCode').AsString;
end;
procedure TfmSY110.dsMasterStateChange(Sender: TObject);
begin
inherited;
sbGroupID.Enabled := (qyMaster.State in [dsInsert, dsEdit]);
ED7.ReadOnly := (not (qyMaster.State in [dsInsert, dsEdit]));
end;
procedure TfmSY110.qyMasterUserIDValidate(Sender: TField);
begin
inherited;
if Trim(qyMaster.FieldByName('GroupID').AsString) = '' then
qyMaster.FieldByName('GroupID').AsString := qyMaster.FieldByName('UserID').AsString;
end;
procedure TfmSY110.qyMasterUpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
if UpdateKind = ukDelete then
begin
with qyTemp do
begin
Close;
SQL.Clear;
SQL.Add('DELETE FROM UserAuthority ');
SQL.Add('WHERE CompanyID = :CompanyID AND UserID = :UserID ');
ParamByName('CompanyID').AsString := sCompanyID;
ParamByName('UserID').AsString := DataSet.FieldByName('UserID').OldValue;
ExecSQL;
end;
end;
inherited;
end;
procedure TfmSY110.sbGroupIDClick(Sender: TObject);
begin
inherited;
SearchData(ED5, qyUsers);
end;
procedure TfmSY110.qyMasterGroupIDValidate(Sender: TField);
begin
inherited;
qyMaster.FieldByName('GroupName').AsString :=
GetUsersName(qyMaster.FieldByName('GroupID').AsString);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -