设置系统时间

在开发具有数据服务器的应用软件时,有时为了使所有计算机的时间都保持相同,或者接近相同,主要是为了避免数据录入时出现的时间差异,通常我们会在客户机每次使用应用软件前将本地时间设置成跟服务器相同。从而确保输入的数据在时间上具有较高的正确性。即,要实现系统时间的设置。下面就讲述一下实现的过程。

  本程序是通过调用外部函数SetSystemTime()实现系统时间的设置,该函数返回布尔型。查阅一下有关参考手册就会发现该函数需要一个表示系统时间结构(Struct)的数据类型作为参数。此结构的定义如下:

  struct _SYSTEMTIME {

    INT iYear;

    INT iMonth;

    INT iDayOfWeek;

    INT iDay;

    INT iHour;

    INT iMinute;

    INT iSecond;

    INT iMilliseconds; // 毫秒

  } str_SystemTime;

  要在程序中使用外部函数首先需要要进行外部函数声明,可以根据函数的使用范围放在全局外部函数声明区或局部外部函数区声明。具体声明如下:

  Function Boolean SetSystemTime(str_SystemTime str_MyTime) Library "Kernel32.dll"

  声明之后就可以使用了。下面代码实现将系统日期设置成"2000年8月10日"

  /*****************************程序代码******************************/

  str_SystemTime str_MyTime

  // 给结构赋值

  str_MyTime.iYear = 2000 // 2000年

  str_MyTime.imonth = 8 / /8月

  str_MyTime.iDay = 10 // 10日

  // 设置系统日期

  if SetSystemTime(ref str_MyTime) then

   Beep(1)

   MessageBox("提示","系统日期设置成功!")

  else

   Beep(1)

   MessageBox("提示","系统日期设置失败!")

  end if

  /*****************************结束******************************/

  注意,如果只有日期没有时间的话系统会将时间设置成默认的上午8点整。设置系统的时间方法和设置日期类似,只要将结构中的时、分、秒分别设置成想要的就行了。具体实现请读者自己完成。