.版本 2
.支持库 EThread
.支持库 spec
.支持库 shell
.程序集 窗口程序集1
.程序集变量 网络, 日期时间型
.程序集变量 本地网络差, 双精度小数型
.子程序 __启动窗口_创建完毕
.如果真 (是否在临时目录 ())
信息框 (“请不要在压缩包内直接运行或放在目录中包含\Temp\的文件夹中。”, 64, “提示”)
结束 ()
.如果真结束
置外形图片 (底图, #品红)
可视 = 真
标题栏.宽度 = 835
标签透明 (标题栏)
标签透明 (标签)
设置标题 (“时间校对器”)
标题 = “时间校对器”
开机.选中 = 文件是否存在 (取目录 (“Startup”) + “\自动校时.lnk”)
桌面.选中 = 文件是否存在 (取目录 (“Desktop”) + “\自动校时.lnk”)
启动线程 (&校对线程, , )
.子程序 标签透明
.参数 要透明的标签, 标签
要透明的标签.底图方式 = 0
要透明的标签.可视 = 假
处理事件 ()
要透明的标签.底图 = 快照 (要透明的标签.取窗口句柄 (), , )
要透明的标签.可视 = 真
.子程序 设置标题
.参数 设置标题, 文本型
标题栏.标题 = “ ” + 设置标题
.子程序 _标题栏_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
发送信息 (161, 2, 0)
.子程序 _最小化按钮_被单击
_启动窗口.发送信息 (274, 61473, 0)
.子程序 _关闭按钮_被单击
显示时间.时钟周期 = 0
校对.时钟周期 = 0
处理事件 ()
结束 ()
.子程序 _校对_周期事件
启动线程 (&校对线程, , )
.子程序 校对线程
.判断开始 (客户1.连接 (“time-a.timefreq.bldrdoc.gov”, 13) = 真)
.判断 (客户1.连接 (“time-b.timefreq.bldrdoc.gov”, 13) = 真)
.判断 (客户1.连接 (“time-c.timefreq.bldrdoc.gov”, 13) = 真)
.判断 (客户1.连接 (“time-a.nist.gov”, 13) = 真)
.判断 (客户1.连接 (“time-b.nist.gov”, 13) = 真)
.默认
.判断结束
.子程序 _客户1_数据到达
.局部变量 取回数据, 文本型
.局部变量 时间, 文本型, , "0"
.局部变量 日期, 文本型, , "3"
.局部变量 命令行, 文本型, , "0"
取回数据 = 取字节集数据 (客户1.取回数据 (), #文本型, )
调试输出 (取回数据)
时间 = 分割文本 (取回数据, “ ”, )
日期 = 分割文本 (时间 [2], “-”, )
日期 [1] = “20” + 日期 [1]
网络 = 增减时间 (到时间 (日期 [1] + “/” + 日期 [2] + “/” + 日期 [3] + “ ” + 时间 [3]), #小时, 8)
本地网络差 = 取时间间隔 (网络, 取现行时间 (), 8)
网络时间.标题 = “当前网络时间: ” + 时间格式化 (网络)
同步.禁止 = 假
取命令行 (命令行)
.如果真 (取数组成员数 (命令行) > 0)
.如果真 (命令行 [1] = “auto”)
置现行时间 (增减时间 (取现行时间 (), 8, 本地网络差))
标签.标题 = “自动校时完成”
标签.文本颜色 = #红色
处理事件 ()
延迟 (1000)
结束 ()
.如果真结束
.如果真结束
.子程序 _显示时间_周期事件
本地时间.标题 = “您的本地时间: ” + 时间格式化 (取现行时间 ())
.如果真 (网络时间.标题 ≠ “当前网络时间: 获取中...”)
网络时间.标题 = “当前网络时间: ” + 时间格式化 (增减时间 (取现行时间 (), 8, 本地网络差))
.如果真结束
.子程序 时间格式化, 文本型, 公开, 13:00:00
.参数 时间, 日期时间型
返回 (到文本 (取年份 (时间)) + “-” + 取文本右边 (“0” + 到文本 (取月份 (时间)), 2) + “-” + 取文本右边 (“0” + 到文本 (取日 (时间)), 2) + “ ” + 取文本右边 (“0” + 到文本 (取小时 (时间)), 2) + “:” + 取文本右边 (“0” + 到文本 (取分钟 (时间)), 2) + “:” + 取文本右边 (“0” + 到文本 (取秒 (时间)), 2))
.子程序 _同步_被单击
信息框 (选择 (置现行时间 (增减时间 (取现行时间 (), 8, 本地网络差)), “同步时间成功,同步为: ” + 到文本 (时间格式化 (增减时间 (取现行时间 (), 8, 本地网络差))), “同步时间失败”), 64, “提示”)
.子程序 _程序图标_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
设置标题 (“呵呵 MSN/Email:cctvyay@163.com”)
.子程序 _程序图标_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
设置标题 (“时间校对器”)
.子程序 _设置按钮_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
设置标题 (“呵呵 MSN/Email:cctvyay@163.com”)
.子程序 _设置按钮_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
设置标题 (“时间校对器”)
.子程序 取目录, 文本型
.参数 目录, 文本型
返回 (取文本注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\” + 目录, ))
.子程序 是否在临时目录, 逻辑型
返回 (寻找文本 (取运行目录 () + “\”, “\Temp\”, , 真) ≠ -1)
.子程序 _开机_被单击
.如果 (开机.选中)
创建快捷方式 (取目录 (“Startup”) + “\自动校时.lnk”, 取运行目录 () + “\” + 取执行文件名 (), “把当前计算机的时间同步为标准北京时间。”, “auto”, 取运行目录 ())
.否则
删除文件 (取目录 (“Startup”) + “\自动校时.lnk”)
.如果结束
.子程序 _桌面_被单击
.如果 (桌面.选中)
创建快捷方式 (取目录 (“Desktop”) + “\自动校时.lnk”, 取运行目录 () + “\” + 取执行文件名 (), “把当前计算机的时间同步为标准北京时间。”, “auto”, 取运行目录 ())
.否则
删除文件 (取目录 (“Desktop”) + “\自动校时.lnk”)
.如果结束