stefan654 Posted January 17, 2014 Posted January 17, 2014 so, i'm trying to execute a function for about 2 minutes, i know about 2 sorts of loops right now: -while 0 loop (keeps running forever) -do loop (executes the function x times) but are there loops which execute a function for a certain amount of time? or what other loops do you have? kind regards
Moderators Melba23 Posted January 17, 2014 Moderators Posted January 17, 2014 stefan654,Start an infinite While...WEnd loop and use TimerInit/TimerDiff to measure the time passed and to fire an ExitLoop when needed. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
water Posted January 17, 2014 Posted January 17, 2014 (edited) Your issue can't be solved with another form of loop. You need to check the elapsed time yourself. I suggest functions TimerInit and TimerDiff. Edit: Too late Edited January 17, 2014 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
l3ill Posted January 17, 2014 Posted January 17, 2014 (edited) Froot Loops Most of those loops can be caused to last longer by adding a sleep() Or somethinglike this: Local $iU = InputBox("Amount", "Enter Amount to count down From.") For $i = $iU To 1 Step -1 MsgBox(0, "Count down!", $i, .5) ;< this a half a second, change it to whatever to run slower Next MsgBox(0, "10", "Blast Off!", 3) Edited January 17, 2014 by l3ill My Contributions... SnippetBrowser NewSciTE PathFinder Text File Manipulation FTP Connection Tester / INI File - Read, Write, Save & Load Example
Xibalba Posted January 17, 2014 Posted January 17, 2014 (edited) Global $time1 ; timer Global $maxTime = 5 ; in seconds Example() Func Example() $start_time = TimerInit() ; Start timer Do ; <code here> $time1=TimerDiff($start_time)/1000 Until $time1 >= $maxTime MsgBox(0, "mBox", "Loop was run for " & $time1 & " seconds") EndFunc ;==>Example Edited January 17, 2014 by Xibalba
stefan654 Posted January 24, 2014 Author Posted January 24, 2014 thank you very much guys! that solved my question
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