📄 frm_login1.pas
字号:
unit Frm_Login1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ModalForm1, StdCtrls, UErrDisplay, Buttons;
type
TLogin1 = class(TMyModalForm1)
Label1: TLabel;
Label2: TLabel;
EdtUserName: TEdit;
EdtPassword: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
passnum: integer;
public
{ Public declarations }
end;
var
Login1: TLogin1;
implementation
uses
DM_DataModal, UGeneralFunc, Uglobal, UDeviceFunc, UTSysCs, UTUser,
frm_s_ReparPassWordpas;
{$R *.dfm}
procedure TLogin1.BitBtn2Click(Sender: TObject);
var
msg: string;
a_systemtime: _systemtime;
aComputerName: array[0..254] of Char;
j: Cardinal;
sDate: string;
sTime: string;
begin
inherited;
if not assigned(gtSysCs) then
begin
gtSysCs := TSysCs.Create;
if gtSysCs.RetVal <> 0 then
begin
application.MessageBox(pchar(gtSysCs.retmsg), '用户登录', mb_ok + mb_iconwarning);
ModalResult := mrCancel;
exit;
end;
end
else
gtsyscs.Create;
if trim(datetimetostr(now)) <> trim(FormatDateTime('yyyy-mm-dd hh:mm:ss', Now)) then
begin
application.MessageBox('日期格式错误码' + #13 + #10 +
'正确格式为:2001-01-01 12:01:01' + #13 + #10 +
'请到[控制面版]->[区域选项]中修改', '用户登录', mb_ok + mb_iconwarning);
winexec('rundll32.exe shell32.dll,Control_RunDLL Intl.cpl,,4',9);
exit;
end;
j := sizeof(aComputerName);
getComputerName(aComputerName, j);
GetlocalTime(a_systemtime);
if EdtUsername.Text = '' then
begin
msg := '用户名称不可为空!';
showmsg(msg, 1, 2);
EdtUsername.SetFocus;
exit;
end;
if not gtsyscs.ConnectDataBase then
begin
application.MessageBox(pchar(gtsyscs.retmsg+'可能配置有误,' + #13#13 + '请通过检查后重试!'), '用户登录', mb_ok + mb_iconwarning);
EdtUsername.SetFocus;
EdtUsername.SelectAll;
BitBtn1.Visible := true;
exit;
end;
if not assigned(gtUser) then gtUser := TUser.Create;
gtUser.UsrName := EdtUserName.Text;
gtUser.PassWord := Encode(EdtPassword.Text, 13);
with winddata.pZx_S_czydl do
begin
parameters.ParamByName('@czybh').Value := EdtuserName.Text;
parameters.ParamByName('@password').Value := Encode(EdtPassword.Text, 13);
parameters.ParamByName('@jsjmc').Value := trim(aComputerName);
execproc;
if parameters.ParamByName('@return_value').Value <> 0 then
begin
msg := parameters.ParamByName('@retmsg').Value;
application.MessageBox(pchar(msg), '用户登录', mb_ok + mb_iconwarning);
inc(passnum);
if passnum > 2 then ModalResult := mrCancel;
exit;
end
else
begin
sDate := datetostr(parameters.parambyname('@getsystime').Value);
sTime := timetostr(parameters.parambyname('@getsystime').Value);
a_systemtime.wYear := strtoint(copy(sDate, 1, 4));
a_systemtime.wMonth := strtoint(copy(sDate, 6, 2));
a_systemtime.wDay := strtoint(copy(sDate, 9, 2));
a_systemtime.wHour := strtoint(copy(sTime, 1, 2));
a_systemtime.wMinute := strtoint(copy(sTime, 4, 2));
a_systemtime.wSecond := strtoint(copy(sTime, 7, 2));
SetlocalTime(a_systemtime);
if parameters.parambyname('@PWDSta').Value = -1 then
begin
frm_s_ReparPassWord := Tfrm_s_ReparPassWord.Create(application);
frm_s_ReparPassWord.UserName := gtUser.UsrName;
frm_s_ReparPassWord.ShowModal;
frm_s_ReparPassWord.Free;
exit;
end;
end;
end;
if not gtsyscs.IniDevice then
begin
application.MessageBox(pchar(gtsyscs.RetMsg + #13#13 + '请通过检查后重试!'), '用户登录', mb_ok + mb_iconwarning);
exit;
end;
gtUser.GetUserInfo(gtUser.UsrName) ;
ModalResult := mrOK;
end;
procedure TLogin1.BitBtn3Click(Sender: TObject);
begin
inherited;
ModalResult := mrCancel;
end;
procedure TLogin1.BitBtn1Click(Sender: TObject);
var
str: string;
begin
inherited;
str := gtsyscs.LocaldConnStrFile;
str := WindData.ConfigConnstr(str);
gtsyscs.SaveConnStr(str);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -