Convert seconds to minutes

Category: Time/Timers

Date: 03-28-2012

Return to Index


 
'Most functions which track time, do so in milliseconds (1/1000 of a second). Here's
'how to convert that to a string formatted as MM:SS  (minutes:seconds.tenthsofseconds).
'The PowerBASIC Format$ function is used.
 
'Primary code
Function MStoMin(ElapsedTime as Quad) as String
   ElapsedTime$ = Format$(ElapsedTime/60000, "000")
   Function = ElapsedTime$ + ":" + Format$((iTimerElapsed& Mod 60000) / 1000,"00.0")
End Function
 
'Compilable Example:
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
#Include "Win32API.inc"
Global hDlg As Dword
 
Function PBMain() As Long
   Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
   Control Add Button, hDlg, 100,"Push", 50,10,100,20
   Control Add TextBox, hDlg, 200,"60000", 50,40,100,20
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   If CB.Msg = %WM_Command AND CB.Ctl = 100 AND CB.Ctlmsg = %BN_Clicked Then
      Local i as Quad, temp$
      Control Get Text hDlg, 200 To temp$
      i = Val(temp$)
      MsgBox MsToMin(i)
   End If
End Function
 
Function MStoMin(ElapsedTime as Quad) as String
   Local temp$
   temp$ = Format$(ElapsedTime/60000, "0")
   Function = "MM:SS.dd" + $crlf + $crlf + temp$ + ":" + Format$((ElapsedTime Mod 60000) / 1000,"00.0")
End Function
 
'gbs_00259
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm