D7wmhengming/基础数据/U_User.pas
DESKTOP-E401PHE\Administrator 5ad6218a33 ~
2025-04-27 16:59:54 +08:00

214 lines
4.8 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.