fs1234 Posted February 21, 2020 Share 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 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 21, 2020 Moderators Share 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: 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 Link to comment Share on other sites More sharing options...
mikell Posted February 21, 2020 Share Posted February 21, 2020 Trouble with an operator Please change this If $sHour == $eHour Then to this If $sHour = $eHour Then fs1234 1 Link to comment Share on other sites More sharing options...
fs1234 Posted February 21, 2020 Author Share Posted February 21, 2020 Thank you, guys! Link to comment Share on other sites More sharing options...
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