D7szYidui/基础资料(BaseInfo.dll)/U_UserDC.pas
DESKTOP-E401PHE\Administrator ef99fc8b5e 移交
2025-07-19 09:32:10 +08:00

235 lines
5.3 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_UserDC;
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);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(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, U_DataLink;
{$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('pw').Value := trim(newPassword.text);
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;
procedure TfrmUser.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmUser.FormDestroy(Sender: TObject);
begin
frmUser := nil;
end;
end.