我是想让
电脑开机显示当前时间 有于我的一个软件只可以在8月30和31号之间使用 所以我想把系统时间改成在2007年8 月30号和31号之间 我编了下面这个程序 可以运行但不能改时间拉
set talk off
clear
vt=.f.
? date()
do case
case date()>{^2007/08/31}
vt=.t.
case date()<{^2007/08/31}
vt=.t.
otherwise
exit
endcase
if vt=.t.
replace date with {^2007/08/30}
endif
return
quit
就是让电脑每次启动后执行这个文件修改系统的日期为2007-08-30
利用replace只能修改你的数据库的日期字段的值,并不能修改机器的系统时间。vfp本身没有修改机器日期的命数喊令。
*在VFP中利用SetLocalTime函数调用设置系统日期或时间
set date ansi
set century on
set hours to 24
*假定设置系统日期、时间为:2007,8,30
nDate=ctod('2007-8-30')
oldtime=TIME() &&取当前时间
nHo=VAL(subs(oldtime,1,2)) &&取当前时间-时
nSe=VAL(SUBSTR(oldtime,4,2)) &&取当前时间-分
nMi=VAL(SUBSTR(oldtime,7,2)) &&取当前时间-秒
nMM=VAL(RIGHT(oldtime,2)) &&取当前时间-毫秒
cBuf=h2str(YEAR(nDate))+h2str(MONTH(nDate))+h2str(DOW(nDate) - 1)+h2str(DAY(nDate))+h2str(nHo)+h2str(nSe)+h2str(nMi)+h2str(nMm)
*&&将转换后的二进制字符连接
DECLARE SHORT SetLocalTime IN win32api STRING SystemTime
=SetLocalTime(cBuf) &&设置系统茄举日期
Retu
*====以下是将十进制转换为二进制的自定薯纳野义函数
Function h2str
PARAMETERS Zhsz
PRIVATE Fhz
Fhz=Chr(Zhsz%256)+Chr(Zhsz/256)
RETURN Fhz