📄 log.pas
字号:
end else begin
if strInt_x <> '0000' then
strResult := '币' + strInt_x1
else
strResult := '币';
end;
//
strInt := FloatToStr(fltVal) + '0';
intPos := Pos('.', strInt);
if (intPos = 0) or (Copy(strInt, intPos + 1, 2) = '00') then
strResult := strResult + '整'
else begin
strC := Copy(strInt, intPos + 1, 1);
strC1 := Copy(strInt, intPos + 2, 1);
if strC = '0' then
strResult := strResult + '零' + zArray[StrToInt(strC1)] + '分'
else
if strC1 = '0' then begin
if (strInt_x[4] = '0') and (strResult <> '币') then
strResult := strResult + '零' + zArray[StrToInt(strC)] + '角'
else
strResult := strResult + zArray[StrToInt(strC)] + '角';
end else begin
if (strInt_x[4] = '0') and (strResult <> '币') then
strResult := strResult + '零' + zArray[StrToInt(strC)] + '角' + zArray[StrToInt(strC1)] + '分'
else
strResult := strResult + zArray[StrToInt(strC)] + '角' + zArray[StrToInt(strC1)] + '分';
end;
end;
//
Result := strResult;
end;
}
function Tfrm_log.controlDate(strDate: string): string;
var
year, month, day: Word;
stryear, strmonth, strday: string;
begin
DecodeDate(StrToDate(strDate), year, month, day);
stryear := IntToStr(year);
strmonth := Format('%2.2d', [month]);
strday := Format('%2.2d', [day]);
//
Result := stryear + '-' + strmonth + '-' + strday;
end;
procedure Tfrm_log.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
Application.Terminate;
end;
procedure Tfrm_log.FormDestroy(Sender: TObject);
begin
frm_log := nil;
end;
procedure Tfrm_log.FormActivate(Sender: TObject);
begin
if cmdOK.Tag = 0 then begin
txt_name.OnChange := nil;
txt_name.Text := '';
txt_name.OnChange := frm_log.txt_nameChange;
txt_password.Text := '';
//
txt_name.SetFocus;
cmdOK.Enabled := False;
cmdOK.Default := False;
end;
end;
procedure Tfrm_log.txt_nameChange(Sender: TObject);
begin
if Trim(txt_name.Text) <> '' then cmdOK.Enabled := True;
end;
function softReg(keyname:string;trydays:integer):integer; // KeyName := 'Software\jsjb\Example';
var
Reg: Tregistry;
TempCode, TempName, TempStr: string;
Same: integer;
FirstDate, NowDate: Tdatetime;
NumberOfDays: real;
// NoRegistry: boolean;
// SpareDays: integer;
cpustr,jmcpu:string;
cpuid:TCPUID;
begin
result:=0;
NoRegistry := true;
NowDate := date; //取得运行时系统日期
try
Reg := Tregistry.Create; //创建注册表,有该键则读取,无则创建
Reg.RootKey := hkey_local_machine;
if Reg.OpenKey(KeyName, true) then begin
TempName := Reg.ReadString('UsrName');
TempCode := Reg.ReadString('Passwd'); //读取用户名,注册号
if Reg.ValueExists('Date') then begin
FirstDate := Reg.ReadDate('Date'); //非第一次则读入第一次运行时间
end else begin
Reg.WriteDate('Date', NowDate); // 若为第一次运行,则写入系统日期
FirstDate := NowDate;
end;
Reg.CloseKey;
end;
finally
Reg.Free;
end;
// if Same = 0 then
// NoRegistry := false;
//验证密码,通过NoRegistry为false
if NoRegistry then begin //若未注册...
NumberOfDays := NowDate - FirstDate;
SpareDays := round(trydays - NumberOfDays);
result := SpareDays;
if ((NumberOfDays > trydays) or (NumberOfDays < -1))then begin
with frm_log do begin
jm.Items.LoadFromFile(ExtractFilePath(ParamStr(0))+'\zcm.txt');
jm.ItemIndex:=0;
cpuid := GetCPUID;
cpustr := IntToHex(GetCPUID[1],8)+IntToHex(GetCPUID[2],8)+IntToHex(GetCPUID[3],8)+IntToHex(GetCPUID[4],8) ;
jmcpu:=EncryStrHex(cpustr, 'msmlovedgm') ;
if jmcpu<>jm.Text
then begin
showmessage('程序未注册超过试用期或更改系统时间,将终止运行!');
Application.Terminate; //超过trydays天,则禁止运行
end;
end;
end;
end;
end;
procedure Tfrm_log.cmdOKClick(Sender: TObject);
var
intx, inty, intz: Cardinal;
intx1: Cardinal;
hReg: TRegIniFile;
code: integer;
t :integer;
cpustr,jmcpu,s1,s2,s3,s4:string;
cpuid:TCPUID;
begin
if softReg('Software\realplay\music\song\softreg',50)<10
then begin
jm.Items.LoadFromFile(ExtractFilePath(ParamStr(0))+'\zcm.txt');
jm.ItemIndex:=0;
cpuid := GetCPUID;
cpustr := IntToHex(GetCPUID[1],8)+IntToHex(GetCPUID[2],8)+IntToHex(GetCPUID[3],8)+IntToHex(GetCPUID[4],8) ;
jmcpu:=EncryStrHex(cpustr,'msmlovedgm') ;
if jmcpu<>jm.Text
then begin
Application.CreateForm(Tfrmzc, frmzc);
frmzc.showmodal;
exit;
end;
end;
a.edit;
a.FieldByName('a').AsDateTime := date;
a.FieldByName('b').AsInteger:=t;
a.Post;
if cmdOK.Tag = 0 then begin
if Trim(txt_name.Text) = '' then begin
MessageBox(Handle, '请输入用户名称', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_name.SetFocus;
//
Exit;
end else begin
qe_log.Close;
qe_log.ParamByName('iuser_name').AsString := UpperCase(Trim(txt_name.Text));
qe_log.Open;
qe_log.First;
//
if (qe_log.Bof) and (qe_log.Eof) then begin
MessageBox(Handle, '该用户不存在', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_name.SetFocus;
//
Exit;
end;
//
if (qe_log.FieldByName('user_group').Value <> 2) and (qe_log.FieldByName('user_group').Value <> 0) then begin
MessageBox(Handle, '该用户不属于前台组级', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_name.SetFocus;
Exit;
end;
if Trim(txt_password.Text) = Trim(qe_log.FieldByName('user_password').AsString) then begin
if not Assigned(frm_main) then begin
qe_pj.Close;
qe_pj.Open;
qe_pj.First;
cur_gs_name := Trim(qe_pj.FieldByName('gs_name').AsString);
cur_gs_addr := Trim(qe_pj.FieldByName('gs_addr').AsString);
cur_gs_tel := Trim(qe_pj.FieldByName('gs_tel').AsString);
bx_z_title := Trim(qe_pj.FieldByName('bx_z_title').AsString);
bx_f_title := Trim(qe_pj.FieldByName('bx_f_title').AsString);
qe_pj.Close;
//
frm_main := Tfrm_main.Create(Application);
frm_main.user_name := Trim(qe_log.FieldByName('user_name').AsString);
frm_main.user_password := Trim(qe_log.FieldByName('user_password').AsString);
frm_main.user_group := qe_log.FieldByName('user_group').AsInteger;
frm_main.sb_main.Panels[0].Text := ' 当前用户: ' + Trim(qe_log.FieldByName('user_name').AsString);
//
frm_main.Show;
//
if receiveDays = -1 then begin
end;
//
Hide;
end;
end else begin
MessageBox(Handle, '密码不正确,请重新输入', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_password.Text := '';
txt_password.SetFocus;
//
Exit;
end;
end;
end
end;
procedure Tfrm_log.cmdCancelClick(Sender: TObject);
begin
Close;
end;
procedure Tfrm_log.txt_nameKeyPress(Sender: TObject; var Key: Char);
begin
if Ord(Key) = 13 then txt_password.SetFocus;
end;
procedure Tfrm_log.txt_passwordKeyPress(Sender: TObject; var Key: Char);
begin
cmdOK.Default := True;
end;
procedure Tfrm_log.txt_zcKeyPress(Sender: TObject; var Key: Char);
begin
if not (((Key >= '0') and (Key <= '9')) or (Ord(Key) = 8) or (Ord(Key) = 13)) then
Key := Chr(0);
end;
procedure Tfrm_log.FormCreate(Sender: TObject);
//var FileHandle:integer;
begin
//filePath := ExtractFilePath(application.ExeName);
//if FileExists(filePath/a.txt)
// FileHandle := FileCreate('c:/aa/sys.bat');
// filewrite
// FileClose(FileHandle);
// FileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone);
// if FileHandle > 0 then
{valid file handle}
// else
{Open error: FileHandle = negative DOS error code}
end;
initialization
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -