235 lines
5.3 KiB
ObjectPascal
235 lines
5.3 KiB
ObjectPascal
![]() |
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.
|
|||
|
|