fs1234 Posted February 21, 2020 Posted February 21, 2020 Hi All, Sorry for my bad english. I tried this script with the function found here, but with Stringleft i get "Recursion level has been exceeded" error. I have no idea why. Help, pls. Thanks $s= "2143" $e= "0030" $DiffFullMin = _GetTimeDiffUtil(StringLeft($s, 2), StringRight($s, 2), 00, StringRight($e, 2)) ; it's working ;$DiffFullMin = _GetTimeDiffUtil(StringLeft($s, 2), StringRight($s, 2), StringLeft($e, 2), StringRight($e, 2)) ; it's not MsgBox(0, "", $DiffFullMin) ;Returns time difference in minutes. Only supports maximum of 23 hrs 59 mins time span. Func _GetTimeDiffUtil($sHour, $sMin, $eHour, $eMin) ;Start time and end time occurs within the same hour If $sHour == $eHour Then If $eMin > $sMin Then ;Time span is within the same hour Return $eMin - $sMin Else ;Time span is near 24 hours Return 3600 - $sMin + $eMin EndIf EndIf ;Start time and end time occur within the same day If $sHour < $eHour Then Return (60 * ($eHour - $sHour - 1)) + (60 - $sMin + $eMin) EndIf ;Start time is before midnight and end time is after midnight Return _GetTimeDiffUtil($sHour, $sMin, 24, 0) + _GetTimeDiffUtil(0, 0, $eHour, $eMin) EndFunc
Moderators Melba23 Posted February 21, 2020 Moderators Posted February 21, 2020 fs1234, You keep calling the function from within itself - hence the recursion fail. I suggest reading the Recursion tutorial in the Wiki to understand why this is usually a bad idea unless you are very careful. And if you require time differences, why not use _DateDiff? M23 fs1234 1 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: Reveal hidden contents 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
mikell Posted February 21, 2020 Posted February 21, 2020 Trouble with an operator Please change this If $sHour == $eHour Then to this If $sHour = $eHour Then fs1234 1
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