让《和操作系统对话其实很简单》更细致
IT商界
上一期B14版的《和操作系统对话其实很简单》(以下简称《和》)一文,主要以修改计算机的系统日期和时间为例,介绍API函数的概念及如何用Delphi调用API函数等小知识。那么我们怎样来实现上期内容中修改时间的单个修改功能呢?
在这里,笔者就以只对时间的年份进行修改为例向大家介绍一下实现单个时间的修改。编程思路是首先把系统的当前时间TDateTime类型变量转换为一个TsystemTime类型的变量,然后再对这个TsystemTime类型的变量的wYear元素进行修改,最后还是通过SetLocalTime()来修改系统的时间。其实现过程如下:
1.界面设计:首先启动Delphi,新建一个工程,在Form上放置两个Label控件,Caption属性分别设为“用API函数设置系统的年份”、“请输入要修改的年份”;接着在Form放上一个MaskEdit控件,name属性设为“MaskEdit1”,MaskEdit属性设为“!9999;1;_”,使其只能输入四位的数字;最后在窗体上放置两个Button控件,name属性分别设为“ Button1”、“Button2”,Caption属性分别设为“确定”、“退出”(如图所示)。
2.代码说明:在Button1的OnClick事件中加入下列代码,实现对系统时间的年份的修改:
procedure TForm 1.Button1Click(Sender: TObject);
var Input_Time: TSystemTime;
begin
DateTimeToSystemTime(Now,Input_Time);
Input_Time.wYear := strtoint(MaskEdit1.text);
SetLocalTime(Input_Time);
end;
在这里用到了一个过程DateTimeToSystemTime,它实现的功能是把一个TDateTime类型变量转换为一个TsystemTime类型的变量。Now是一个函数,它的返回值系统当前的时间是一个TDateTime类型的变量。
提示:过程DateTimeToSystemTime的声明如下:
procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);
按照上述方法,你可以试着对时间的一个或几个参数进行修改了。
