我想在form1窗体中label1.caption上,显示剩余时间,你们帮忙看看那错了?
procedure Tform1.FormDeactivate(Sender: TObject);
var
Reg:Tregistry;
KeyName,TempCode,TempName,TempStr:string;
Same:Integer;
FirstDate,NowDate,RegNowDate:Tdate;
NumberOfDays:real;
begin
NoRegistry:=true;
NowDate:=date; //取得运行时系统日期
try
//创建注册表,有该键则读取,无则创建
Reg:=Tregistry.Create;
Reg.RootKey :=hkey_local_machine;
KeyName:='Software'; if Reg.OpenKey(KeyName,true) then
begin
try
FirstDate:=Reg.ReadDate('Date');
//非第一次则读入第一次运行时间
except
Reg.WriteDate('Date',NowDate);
// 若为第一次运行,则写入系统日期
FirstDate:=NowDate;
end;
try
RegNowDate:=Reg.ReadDate('RegNowDate');
if Nowdate < RegNowDate then
begin
showmessage('您更改了系统时间,程序未注册并超过试用期将终止运行!');
application.Terminate;//禁止运行
end
else
begin
Reg.WriteDate('RegNowDate',NowDate);
end;
except
Reg.WriteDate('RegNowDate',NowDate);
end;
end;
reg.CloseKey;
finally
reg.Free;
end;
NumberOfDays:=Nowdate-FirstDate;
label1.caption:='你现在使用时间是:'+floatTOstr(NumberOfDays);
end;
procedure Tform1.FormDeactivate(Sender: TObject);
var
Reg:Tregistry;
KeyName,TempCode,TempName,TempStr:string;
Same:Integer;
FirstDate,NowDate,RegNowDate:Tdate;
NumberOfDays:real;
begin
NoRegistry:=true;
NowDate:=date; //取得运行时系统日期
try
//创建注册表,有该键则读取,无则创建
Reg:=Tregistry.Create;
Reg.RootKey :=hkey_local_machine;
KeyName:='Software'; if Reg.OpenKey(KeyName,true) then
begin
try
FirstDate:=Reg.ReadDate('Date');
//非第一次则读入第一次运行时间
except
Reg.WriteDate('Date',NowDate);
// 若为第一次运行,则写入系统日期
FirstDate:=NowDate;
end;
try
RegNowDate:=Reg.ReadDate('RegNowDate');
if Nowdate < RegNowDate then
begin
showmessage('您更改了系统时间,程序未注册并超过试用期将终止运行!');
application.Terminate;//禁止运行
end
else
begin
Reg.WriteDate('RegNowDate',NowDate);
end;
except
Reg.WriteDate('RegNowDate',NowDate);
end;
end;
reg.CloseKey;
finally
reg.Free;
end;
NumberOfDays:=Nowdate-FirstDate;
label1.caption:='你现在使用时间是:'+floatTOstr(NumberOfDays);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货