yucatan Posted January 17, 2011 Posted January 17, 2011 Hello guys i have build a very simple countdown. But there are some things that i cant get done. i would like that it displays 45 minits instead of 4 hours. and that it takes 15 minits to count down from 45 to zero. the first 5 minits count normaly. then 5 minits faster then default. en the last 5 minits count alot faster. How should i build this somebody some advice? #include <GUIConstantsEx.au3> #include <Date.au3> Opt('MustDeclareVars', 1) global $widthCell, $msg, $iOldOpt, $input GUICreate("My GUI") ; will create a dialog box that when displayed is centered $input = GUICtrlCreateLabel("", 150, 150,400,400) GUICtrlSetFont($input, 20, 400) GUISetState() ; will display an empty dialog box Local $iHours, $iMins, $iSecs, $Timer = TimerInit() Local $4Hours = (4 * 60 * 60 * 1000) Local $Time, $oldTime Do $msg = GUIGetMsg() _TicksToTime($4Hours - TimerDiff($Timer), $iHours, $iMins, $iSecs) $Time = StringFormat("%02i:%02i:%02i", $iHours, $iMins, $iSecs) If $Time <> $oldTime Then GUICtrlSetData($input, $time) $oldTime = $Time Sleep(10) Until $msg = $GUI_EVENT_CLOSE
UEZ Posted January 17, 2011 Posted January 17, 2011 (edited) Here a possibility: #include <GUIConstantsEx.au3> #include <Date.au3> Opt('MustDeclareVars', 1) global $widthCell, $msg, $iOldOpt, $input Global $hGUI = GUICreate("My GUI") ; will create a dialog box that when displayed is centered $input = GUICtrlCreateLabel("", 150, 150,400,400) GUICtrlSetFont($input, 20, 400) GUISetState() ; will display an empty dialog box Global $countdown = 45 ;45 minutes Global $seconds = $countdown * 60 Countdown() AdlibRegister("Countdown", 1000) Do $msg = GUIGetMsg() Sleep(10) Until $msg = $GUI_EVENT_CLOSE AdlibUnRegister("Countdown") GUIDelete($hGUI) Exit Func Countdown() Local $sec, $min, $hr $sec = Mod($seconds, 60) $min = Mod($seconds / 60, 60) $hr = Floor($seconds / 60 ^ 2) GUICtrlSetData($input, StringFormat("%02i:%02i:%02i", $hr, $min, $sec)) $seconds -= 1 If $seconds <= 0 Then AdlibUnRegister("Countdown") EndFunc Br, UEZ Edited January 17, 2011 by UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ
yucatan Posted January 17, 2011 Author Posted January 17, 2011 Here a possibility: #include <GUIConstantsEx.au3> #include <Date.au3> Opt('MustDeclareVars', 1) global $widthCell, $msg, $iOldOpt, $input Global $hGUI = GUICreate("My GUI") ; will create a dialog box that when displayed is centered $input = GUICtrlCreateLabel("", 150, 150,400,400) GUICtrlSetFont($input, 20, 400) GUISetState() ; will display an empty dialog box Global $countdown = 45 ;45 minutes Global $seconds = $countdown * 60 Countdown() AdlibRegister("Countdown", 1000) Do $msg = GUIGetMsg() Sleep(10) Until $msg = $GUI_EVENT_CLOSE AdlibUnRegister("Countdown") GUIDelete($hGUI) Exit Func Countdown() Local $sec, $min, $hr $sec = Mod($seconds, 60) $min = Mod($seconds / 60, 60) $hr = Floor($seconds / 60 ^ 2) GUICtrlSetData($input, StringFormat("%02i:%02i:%02i", $hr, $min, $sec)) $seconds -= 1 If $seconds <= 0 Then AdlibUnRegister("Countdown") EndFunc Br, UEZ nice Code! but the countdown doesnt speed up? how should i do that? Greetz Yucatan
guinness Posted January 17, 2011 Posted January 17, 2011 Read about AdlibRegister() >> AdlibRegister("Countdown", 250) UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
UEZ Posted January 17, 2011 Posted January 17, 2011 (edited) Sorry, I have not understood you correctly. Try this: #include <GUIConstantsEx.au3> #include <Date.au3> Opt('MustDeclareVars', 1) global $widthCell, $msg, $iOldOpt, $input Global $hGUI = GUICreate("My GUI") ; will create a dialog box that when displayed is centered $input = GUICtrlCreateLabel("", 150, 150,400,400) GUICtrlSetFont($input, 20, 400) GUISetState() ; will display an empty dialog box Global $countdown = 16 ;45 minutes Global $seconds = $countdown * 60 Countdown() AdlibRegister("Countdown", 1000) Do $msg = GUIGetMsg() Sleep(10) Until $msg = $GUI_EVENT_CLOSE AdlibUnRegister("Countdown") GUIDelete($hGUI) Exit Func Countdown() Local $sec, $min, $hr $sec = Mod($seconds, 60) $min = Mod($seconds / 60, 60) $hr = Floor($seconds / 60 ^ 2) GUICtrlSetData($input, StringFormat("%02i:%02i:%02i", $hr, $min, $sec)) $seconds -= 1 If $seconds <= 0 Then AdlibUnRegister("Countdown") If $seconds <= 900 Then AdlibRegister("Countdown", 500) If $seconds <= 600 Then AdlibRegister("Countdown", 250) If $seconds <= 300 Then AdlibRegister("Countdown", 125) EndFunc Br, UEZ Edited January 17, 2011 by UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ
yucatan Posted January 19, 2011 Author Posted January 19, 2011 (edited) Haha thanks alot this is much beter but its still not exacly what i need now it shows 16 minits. and it takes 45 minits before its done. what it need to be reversed. so it shows 45 minits. but it takes 15 minits when he reaches 0 i understand how the If $seconds <= 2400 Then AdlibRegister("Countdown", 250) works but how i can calculate how fast i need to let him go ? Edited January 19, 2011 by yucatan
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now