找回密码
 加入
搜索
查看: 5324|回复: 6

[系统综合] 【已解决】程序运行时间实时显示修改版(天数的时候就会有问题)

[复制链接]
发表于 2015-7-28 12:08:56 | 显示全部楼层 |阅读模式
本帖最后由 xz00311 于 2015-8-2 00:49 编辑
#Region ACN预处理程序参数(常用参数)
#PRE_Icon=                                                                                 ;图标,支持EXE,DLL,ICO
#PRE_OutFile=                                                                        ;输出文件名
#PRE_OutFile_Type=exe                                                        ;文件类型
#PRE_Compression=4                                                                ;压缩等级
#PRE_UseUpx=y                                                                         ;使用压缩
#PRE_Res_Comment=                                                                 ;程序注释
#PRE_Res_Description=                                                        ;详细信息
#PRE_Res_Fileversion=                                                        ;文件版本
#PRE_Res_FileVersion_AutoIncrement=p                        ;自动更新版本
#PRE_Res_LegalCopyright=                                                 ;版权
#AutoIt3Wrapper_Res_ProductVersion=             ;产品版权
#AutoIt3Wrapper_Res_Field=Productname|          ;产品名称
#AutoIt3Wrapper_Res_Field=CompanyName|          ;公司名称
#AutoIt3Wrapper_Res_Field=LegalTrademarks|      ;法律商标
#AutoIt3Wrapper_Res_Field=OriginalFilename|     ;原始文件名
#PRE_Change2CUI=N                                           ;修改输出的程序为CUI(控制台程序)
;#PRE_Res_Field=AutoIt Version|%AutoItVer%                ;自定义资源段
;#PRE_Run_Tidy=                                                   ;脚本整理
;#PRE_Run_Obfuscator=                                                      ;代码迷惑
;#PRE_Run_AU3Check=                                                         ;语法检查
;#PRE_Run_Before=                                                                 ;运行前
;#PRE_Run_After=                                                                ;运行后
;#PRE_UseX64=n                                                                        ;使用64位解释器
;#PRE_Compile_Both                                                                ;进行双平台编译
;#AutoIt3Wrapper_Res_ProductVersion=            ;产品版权
;#AutoIt3Wrapper_Res_Field=CompanyName|         ;公司名称
;#AutoIt3Wrapper_Res_Field=Productname|         ;产品名称
;#AutoIt3Wrapper_Res_Field=Compatibility|       ;操作系统兼容性 
;#AutoIt3Wrapper_Res_Field=FileDescription|     ;文件描述
;#AutoIt3Wrapper_Res_Field=InternalName|        ;内部名称
;#AutoIt3Wrapper_Res_Field=LegalTrademarks|     ;法律商标
;#AutoIt3Wrapper_Res_Field=OriginalFilename|    ;原始文件名
#EndRegion ACN预处理程序参数设置完成
#cs ____________________________________

 Au3 版本: 
 脚本作者: 
 电子邮件: 
        QQ/TM: 
 脚本版本: 
 脚本功能: 

#ce _______________脚本开始_________________
#include <Date.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
Global $timerL,$Day = 0
$Form1_1 = GUICreate('运行时间实时显示', 300, 130)
GUICtrlCreateLabel('本程序已运行:', 90, 70, 100, 15)
Dim $tl = GUICtrlCreateLabel('00天,00时,00分,00秒', 180, 70, 150, 15)
$Button1 = GUICtrlCreateButton("时间开始运行", 40, 16, 81, 33)
$Button2 = GUICtrlCreateButton("时间重置", 140, 16, 81, 33)
GUISetState()
Dim $timer = TimerInit(), $Day = 0
AdlibRegister('Timer', 500)

$StatusBar1 = _GUICtrlStatusBar_Create($Form1_1)
_GUICtrlStatusBar_SetText($StatusBar1, '00天,00时,00分,00秒');
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 17)

While 1
        $nMsg = GUIGetMsg() 
        ;Switch $nMsg
        Select
                Case $nMsg = $GUI_EVENT_CLOSE
                        Exit
                Case $nMsg =$Button1
                        s()
                Case $nMsg =$Button2
                        AdlibUnRegister('TimerL')        
                        GUICtrlSetData($tl, '00天,00时,00分,00秒')        
        EndSelect
WEnd

Func s()
        $timerL = TimerInit()
        AdlibRegister('TimerL', 500)
EndFunc                        
        


Func Timer()
        Local $Secs, $Mins, $Hour, $Time, $ticks, $sTime
        $ticks = Int(TimerDiff($timer)) * 50000 ;这里*5000是为了测试,将时间提速5000倍
        If $ticks >= 86400000 Then
                $Day += 1
                $timer = TimerInit()
                $ticks = 0
        EndIf
        _TicksToTime($ticks, $Hour, $Mins, $Secs)
        $Time = StringFormat('%02s天,%02s时,%02s分,%02s秒', $Day, $Hour, $Mins, $Secs)
        If $sTime <> $Time Then   
                        _GUICtrlStatusBar_SetText($StatusBar1, $Time)        
                EndIf        
        $sTime = $Time
EndFunc   ;==>Timer
        
Func TimerL()
        Local $Secs, $Mins, $Hour, $Time, $ticks, $sTime
        $ticks = Int(TimerDiff($timerL)) * 50000 ;这里*5000是为了测试,将时间提速5000倍
        If $ticks >= 86400000 Then
                $Day += 1
                $timerL = TimerInit()
                $ticks = 0
        EndIf
        _TicksToTime($ticks, $Hour, $Mins, $Secs)
        $Time = StringFormat('%02s天,%02s时,%02s分,%02s秒', $Day, $Hour, $Mins, $Secs)
        If $sTime <> $Time Then GUICtrlSetData($tl, $Time)        
        $sTime = $Time
EndFunc   ;==>Timer                        
天数的时候就会有问题,请教一下这个要咋样处理才行
发表于 2015-7-28 14:18:18 | 显示全部楼层
不知所云~~·
发表于 2015-7-29 12:29:20 | 显示全部楼层
不知所云~~·
 楼主| 发表于 2015-8-2 00:50:22 | 显示全部楼层
找朋友解决了,原来变量用了同一个才会出现天数的问题
发表于 2015-8-3 16:11:51 | 显示全部楼层
请问这个有什么实际使用的意义吗?
发表于 2015-8-3 16:11:55 | 显示全部楼层
请问这个有什么实际使用的意义吗?
发表于 2015-8-4 17:49:16 | 显示全部楼层
肯定是变量用错了~~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-28 16:54 , Processed in 0.078227 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表