D7wmhengming/基础数据/U_User.pas

214 lines
4.8 KiB
ObjectPascal
Raw Normal View History

2025-04-27 16:59:54 +08:00
unit U_User;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, cxLookAndFeelPainters, StdCtrls, cxButtons, DB, ADODB;
type
TfrmUser = class(TForm)
userID: TEdit;
Label1: TLabel;
Label2: TLabel;
userName: TEdit;
newPassword: TEdit;
Label3: TLabel;
Label4: TLabel;
DnewPassword: TEdit;
cxOK: TcxButton;
cxClose: TcxButton;
ADOQueryTmp: TADOQuery;
ADO_Cmd: TADOQuery;
Label5: TLabel;
Udept: TEdit;
Label6: TLabel;
UType: TEdit;
procedure cxCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxOKClick(Sender: TObject);
procedure userIDKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
private
fPassWord:string;
fIsYGCodezdsc:Boolean;
procedure DoQuery();
function SaveData():Boolean;
{ Private declarations }
public
formId:integer;
fuserID:string;
{ Public declarations }
end;
var
frmUser: TfrmUser;
implementation
uses ElAES,AES,U_PublicFunction;
{$R *.dfm}
function TfrmUser.SaveData():Boolean;
begin
result:=false;
ADO_Cmd.Connection.BeginTrans;
try
if trim(newPassword.Text)<>'' then
fPassWord:=trim(EncryptString(trim(newPassword.text),keys))
else
fPassWord:='';
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add(' select * from SY_User ');
sql.Add(' where userID='+quotedstr(trim(fuserID)));
open;
if ADO_Cmd.IsEmpty then ADO_Cmd.Append
else ADO_Cmd.Edit;
ADO_Cmd.FieldByName('userID').Value:=trim(fuserID);
ADO_Cmd.FieldByName('username').Value:=trim(username.Text);
ADO_Cmd.FieldByName('passWord').Value:=trim(fPassWord);
ADO_Cmd.FieldByName('Udept').Value:=trim(Udept.Text);
ADO_Cmd.FieldByName('UType').Value:=trim(UType.Text);
ADO_Cmd.FieldByName('valid').Value:='Y';
ADO_Cmd.Post;
end;
ADO_Cmd.Connection.CommitTrans;
result:=true;
except
ADO_Cmd.Connection.RollbackTrans;
end;
end;
procedure TfrmUser.DoQuery();
begin
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add(' select * from SY_User A ');
sql.Add(' where userID='+quotedstr(trim(fuserID)));
open;
if not IsEmpty then
begin
userID.Text:=trim(fieldbyname('userID').AsString);
userName.Text:=trim(fieldbyname('userName').AsString);
Udept.Text:=trim(fieldbyname('Udept').AsString);
UType.Text:=trim(fieldbyname('UType').AsString);
if trim(fieldbyname('passWord').AsString)<>'' then
fPassWord:=trim(DecryptString(trim(fieldbyname('passWord').AsString),keys))
else
fPassWord:='';
newPassword.Text:=trim(fPassWord);
DnewPassword.Text:=trim(fPassWord);
end;
end;
end;
procedure TfrmUser.cxCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmUser.FormCreate(Sender: TObject);
begin
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add('select * from SY_SET');
open;
if not IsEmpty then
begin
fIsYGCodezdsc:=fieldbyname('IsYGCodezdsc').AsBoolean;
end;
end;
end;
procedure TfrmUser.cxOKClick(Sender: TObject);
begin
if trim(userID.Text)='' then
begin
application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ',MB_ICONERROR);
userName.Text;
exit;
end;
if trim(userName.Text)='' then
begin
application.MessageBox('<27><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ',MB_ICONERROR);
userName.Text;
exit;
end;
if trim(newPassword.Text)<> trim(dnewPassword.Text) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EBB2BB>£<EFBFBD>','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ',MB_ICONERROR);
newPassword.Text:='';
dnewPassword.Text:='';
exit;
end;
if formId=0 then
begin
if fIsYGCodezdsc then
begin
if not GetMaxBh(ADO_Cmd,fuserID,'SY_USER','YG','0',3) then exit;
end
else
begin
fuserID:=trim(userID.Text);
end;
with ADO_Cmd do
begin
close;
sql.Clear;
sql.Add(' select * from SY_user');
sql.Add(' where userID='+quotedstr(trim(fuserID))) ;
open;
if not isempty then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ',MB_ICONERROR);
exit;
end;
end;
end;
if SaveData() then
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
ModalResult:=1;
end
else
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
end;
procedure TfrmUser.userIDKeyPress(Sender: TObject; var Key: Char);
begin
Key:=UpCase(Key);
if key=#13 then
begin
perform(WM_NEXTDLGCTL,0,0);
Key := #0;
end;
end;
procedure TfrmUser.FormShow(Sender: TObject);
begin
if formId=0 then
begin
if fIsYGCodezdsc then
begin
userID.Enabled:=false;
userID.Text:='<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
end;
end
else
begin
userID.Enabled:=false;
end;
DoQuery();
end;
end.