cjfcjf111 发表于 2012-2-6 21:19:14

请教,导出当时日期后修改日期到某天

谢谢各位能否帮我编一下,我是新手,无法想出如何才能实现,思路是这样

第一个文件,导出当时日期到一个文件,不要时间,比如2012年2月5号,然后执行修改日期到比如2011年6月20号,这个程序是关机时用的.,隐藏运行

第二个文件是开机时用,检测开机时日期然后比较关机时修改的日期,比如关机时修改日期为2011年6月20号,然而开机有可能是一天后开,或几天后开,则可能是2011年6月21号或更后,则关机日期实际走了1天或更多,然后以关机时导出的当时日期文件调整这个差距日期,如关机时导出的日期为2012年2月5号,而关机时实际走了1天或更多,则调整为2012年2月6号或更多

user3000 发表于 2012-2-6 23:07:48

既然你自认是新手, 我这等老手觉得有必要提醒你,
你觉得你的帖子能准确表达你的意图了吗? 会不会让别人根本读不下去?

kk_lee69 发表于 2012-2-7 01:39:54

ㄟ....本來以為自己可以看懂....果然 看了之後 還是看不懂..........
我看 樓主 還是說說自己想要做什麼就好....... 不用講邏輯的過程好了

lpxx 发表于 2012-2-7 09:21:09

读着费力,读后迷惘。

cjfcjf111 发表于 2012-2-7 11:27:14

本帖最后由 cjfcjf111 于 2012-2-7 11:59 编辑

不好意思,看来是表述不清

这样吧,先说第一个,也就是调整电脑日期,简单的说就是把电脑日期调整到一个日期,非网络状态,整个程序的大致过程如同BAT语句中的
DATE >C:\1.TXT:保存当前电脑日期到文件
DATE 2011-6-22 :调整电脑日期到设定日期
这个是放在电脑关机时自动运行,

然后是第二个程序,自然是要在开机后调回正确的日期,调回正确的日期也可以用网络校时软件,但有时会没有网络,比如笔记本有时会拿出去,开机时不一定会有网络,这就要编一个能直接调整的程序,思路是这样的,因为关机时有1.TXT的文件保存,所以也就是借助这个文件进行调整正确的日期,由于关机时时间是在走动的,也就是说开机时会是第二天或者是几天后,
语句就是
DATE >2.TXT :当前日期
读取1.TXT中的日期+(当前日期2.TXT-2011-6-22)=正确日期

由于BAT无法设定日期函数,比如30号或31号后的一天是跳到1号,所以无法用上面的加减法调整到正确的日期,AU3刚刚接触,对一些函数的慨念很模糊,只做过一个按钮界面,看了帮助却是云雾一般,所以到这里来求助

另外DATE命令在很多装有杀毒软件的电脑里无法更改日期,所以需要用AU3中的修改命令

谢谢能帮我解决

虫子樱桃 发表于 2012-2-7 11:40:08

主板上的电池没电了???

cjfcjf111 发表于 2012-2-7 11:49:35

不是这么回事,没电了这样的方法也没有用了,也就是自己不会走时间了,也就不用比较了,没电还是网络校时软件有用了

cjfcjf111 发表于 2012-2-7 12:02:38

我花了三天时间只做过这样一个按钮程序,而且奇怪的是当我点运行按钮后第一个窗口没有关闭,
#include <GUIConstantsEx.au3>

;设置界面大小及按钮和说明文字
GUICreate("程序接口", 420, 200)
$Label1 = GUICtrlCreateLabel("程序接口", 200, 18, 220, 40)
GUICtrlSetFont(-1, 14, 400, 1, "黑体")
$Label2 = GUICtrlCreateLabel("程序接口一", 180, 50, 220, 40)
GUICtrlSetFont(-1, 10, 400, 1, "黑体")
$Label3 = GUICtrlCreateLabel("程序接口二.", 180, 98, 220, 40)
GUICtrlSetFont(-1, 10, 400, 1, "黑体")
$Label4 = GUICtrlCreateLabel("   本程序需要外连BAT运行", 220, 138, 240, 40)
GUICtrlSetFont(-1, 10, 400, 1, "黑体")
$Label5 = GUICtrlCreateLabel("      于2012年1月28号", 220, 158, 240, 40)
GUICtrlSetFont(-1, 10, 400, 1, "黑体")
GUISetState(@SW_SHOW)

;设置按钮名字,位置及大小
$btn1 = GUICtrlCreateButton("程序接口一", 20, 10, 150, 45)

GUICtrlSetState(-1, $GUI_FOCUS);设置焦点

$btn2 = GUICtrlCreateButton("退出程序", 20, 70, 150, 45)

$btn3 = GUICtrlCreateButton("程序接口二", 20, 130, 150, 45)

GUISetState()

;确定并调用用户按下的按钮
While 1

        Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE;点 X 关闭窗口时退出,否则会退不出
                        Exit;退出
                       
                Case $btn3
                        #include <GUIConstantsEx.au3>
                        GUICreate("程序接口一", 420, 200)
                        $Label1 = GUICtrlCreateLabel("程序接口二", 200, 18, 220, 40)
                        GUICtrlSetFont(-1, 14, 400, 1, "黑体")
                        $Label2 = GUICtrlCreateLabel("程序接口二", 180, 50, 220, 40)
                        GUICtrlSetFont(-1, 10, 400, 1, "黑体")
                        $Label4 = GUICtrlCreateLabel("   本程序外连BAT二", 220, 138, 240, 40)
                        GUICtrlSetFont(-1, 10, 400, 1, "黑体")
                        $Label5 = GUICtrlCreateLabel("      于2012年1月28号", 220, 158, 240, 40)
                        $Button1 = GUICtrlCreateButton("程序接口二", 20, 10, 150, 45)
                        GUICtrlSetState(-1, $GUI_FOCUS);设置焦点
                        $Button2 = GUICtrlCreateButton("退出程序", 20, 70, 150, 45);如这后面再加一个上一步按钮,怎么退到上一窗口
                        GUISetState(@SW_SHOW)
                        #endregion ### END Koda GUI section ###
                        While 1
                                $nMsg = GUIGetMsg()
                                Switch $nMsg
                                        Case $GUI_EVENT_CLOSE
                                                Exit
                                        Case $Button2
                                                Exit;调用程序后马上退出
                                        Case $Button1
                                                Run('auyo2.bat')
                                                Exit;调用程序后马上退出
                                EndSwitch
                        WEnd
                        Exit;调用程序后马上退出

                Case $btn2

                        Exit;退出

                Case $btn1
                        #include <GUIConstantsEx.au3>
                        GUICreate("程序接口一", 420, 200)
                        $Label1 = GUICtrlCreateLabel("程序接口一", 200, 18, 220, 40)
                        GUICtrlSetFont(-1, 14, 400, 1, "黑体")
                        $Label2 = GUICtrlCreateLabel("程序接口一", 180, 50, 220, 40)
                        GUICtrlSetFont(-1, 10, 400, 1, "黑体")
                        $Label4 = GUICtrlCreateLabel("   本程序需外连BAT一", 220, 138, 240, 40)
                        GUICtrlSetFont(-1, 10, 400, 1, "黑体")
                        $Label5 = GUICtrlCreateLabel("      于2012年1月28号", 220, 158, 240, 40)
                        $Button1 = GUICtrlCreateButton("程序接口一", 20, 10, 150, 45)
                        GUICtrlSetState(-1, $GUI_FOCUS);设置焦点
                        $Button2 = GUICtrlCreateButton("退出程序", 20, 70, 150, 45)
                        GUISetState(@SW_SHOW)
                        #endregion ### END Koda GUI section ###
                        While 1
                                $nMsg = GUIGetMsg()
                                Switch $nMsg
                                        Case $GUI_EVENT_CLOSE
                                                Exit
                                        Case $Button2
                                                Exit;调用程序后马上退出
                                        Case $Button1
                                                Run('auto1.bat')
                                                Exit;调用程序后马上退出
                                EndSwitch
                        WEnd
                        Exit;调用程序后马上退出
        EndSwitch

WEnd

user3000 发表于 2012-2-8 02:49:35

给楼主的建议:
1, 关于设置系统时间的, 可以参考帮助文件的 自定义函数里, 有关日期管理方面的函数!
   如果确实要保存或读取日期之类的简单的数据,用 IniWrite, IniRead 最方便!
2, 关于多窗口的操作, 论坛已经有很多好例子, 请善用论坛的搜索功能!

netegg 发表于 2012-2-10 04:49:22

读取cpu时间,或者事件日志中的本次开机时间,加加减减的事

netegg 发表于 2012-2-10 04:49:28

读取cpu时间,或者事件日志中的本次开机时间,加加减减的事
页: [1]
查看完整版本: 请教,导出当时日期后修改日期到某天