Page 1 of 1
MillisecondTime for windows os
Posted: Sun Aug 13, 2017 2:48 pm
by gurj
Code: Select all
;MillisecondTime for windows os
date.SYSTEMTIME;GetLocalTime_(@date):GetSystemTime_(@date)
OpenWindow(0,0,0,400,150,"",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
LoadFont(0,"System", 12, #PB_Font_Bold):SetGadgetFont(#PB_Default, FontID(0))
ButtonGadget(0, 0, 0,200, 20, "start")
ButtonGadget(2, 200, 0,200, 20, "stop")
TextGadget(1, 0, 30,200, 20, "")
TextGadget(3, 0, 50,200, 20, "start at:")
TextGadget(4, 0, 70,400, 20, "")
TextGadget(5, 0, 100,200, 20, "stop at:\/")
TextGadget(6, 0, 120,400, 20, "")
Repeat:ev=WaitWindowEvent():Select ev
Case #PB_Event_Gadget:eg=EventGadget()
Select eg
Case 0:DisableGadget(0,1)
n=0:m=0:GetLocalTime_(@date):Gosub settext
Repeat:m+1
GetLocalTime_(@date)
SetGadgetText(1,""+date\wMilliseconds)
ev=WindowEvent():If ev=#PB_Event_Gadget:eg=EventGadget()
If eg=2:n=1
Gosub settext
SetGadgetText(5,"stop at: \/ Repeat_m="+m)
m=0:DisableGadget(0,0)
EndIf:EndIf
Until n=1
Case 2:GetLocalTime_(@date):Gosub settext
SetGadgetText(5,"stop at: \/ Repeat_m="+m)
SetGadgetText(4,"")
EndSelect
Case #PB_Event_CloseWindow:Break
EndSelect:ForEver
End
settext:
SetGadgetText(eg+4,"WeekDay_"+Str(date\wDayOfWeek)+" > "+Str(date\wYear)+"."+Str(date\wMonth)+"."+Str(date\wDay)+" > "+Str(date\wHour)+
":"+Str(date\wMinute)+":"+Str(date\wSecond)+"."+Str(date\wMilliseconds))
Return
Re: MillisecondTime for windows os
Posted: Mon Aug 14, 2017 9:15 am
by gurj
but on my PC, every GetLocalTime_(@date) need 15 or 16 Millisecond...
Code: Select all
;MillisecondTime for windows os
date0.SYSTEMTIME:date.SYSTEMTIME;GetLocalTime_(@date):GetSystemTime_(@date)
OpenWindow(0,0,0,400,150,"",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
LoadFont(0,"System", 12, #PB_Font_Bold):SetGadgetFont(#PB_Default, FontID(0))
ButtonGadget(0, 0, 0,200, 20, "start")
ButtonGadget(2, 200, 0,200, 20, "stop")
TextGadget(1, 0, 30,200, 20, "")
TextGadget(3, 0, 50,200, 20, "start at:")
TextGadget(4, 0, 70,400, 20, "")
TextGadget(5, 0, 100,400, 20, "stop at:\/")
TextGadget(6, 0, 120,400, 20, "")
Repeat:ev=WaitWindowEvent():Select ev
Case #PB_Event_Gadget:eg=EventGadget()
Select eg
Case 0:DisableGadget(0,1)
n=0:GetLocalTime_(@date):Gosub settext
Repeat:m+1
GetLocalTime_(@date):If date\wMilliseconds<>date0\wMilliseconds
date0=date:v+1
;SetGadgetText(1,""+date\wMilliseconds)
If v<22:Debug date\wMilliseconds:EndIf
ev=WindowEvent():If ev=#PB_Event_Gadget:eg=EventGadget()
If eg=2:n=1
Gosub settext
SetGadgetText(5,"stop at: \/ Repeat_m\v="+m+"\"+v)
m=0:v=0:DisableGadget(0,0);:WindowEvent():WindowEvent():WindowEvent():WindowEvent():WindowEvent()
EndIf:EndIf:EndIf
Until n=1
Case 2:GetLocalTime_(@date):Gosub settext
SetGadgetText(5,"stop at: \/ Repeat_m="+m)
SetGadgetText(4,"")
EndSelect
Case #PB_Event_CloseWindow:Break
EndSelect:ForEver
End
settext:
SetGadgetText(eg+4,"WeekDay_"+Str(date\wDayOfWeek)+" > "+Str(date\wYear)+"."+Str(date\wMonth)+"."+Str(date\wDay)+" > "+Str(date\wHour)+
":"+Str(date\wMinute)+":"+Str(date\wSecond)+"."+Str(date\wMilliseconds))
Return
Re: MillisecondTime for windows os
Posted: Mon Aug 14, 2017 10:09 am
by gurj
ok!
code1:
Code: Select all
a=ElapsedMilliseconds()
re:
Debug a;0,1,2,3,...
Repeat:b=ElapsedMilliseconds()
Until b<>a
a=b:n+1
If n<22:Goto re:EndIf
code2:
Code: Select all
p=Date()
Repeat:q=Date()
Until q<>p
p=q
a=ElapsedMilliseconds()
Debug a
Repeat:q=Date()
Until q<>p
b=ElapsedMilliseconds()
Debug b
Re: MillisecondTime for windows os
Posted: Wed Aug 16, 2017 11:43 pm
by PureLust
Thanks a lot, ... exactly what I needed for an actual project !!!

Re: MillisecondTime for windows os
Posted: Fri Aug 18, 2017 11:29 am
by gurj
'bad' MillisecondTime:
Code: Select all
;'bad' MillisecondTime for windows os
OpenWindow(0,0,0,200,60,"",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
LoadFont(0,"System", 12, #PB_Font_Bold):SetGadgetFont(#PB_Default, FontID(0))
ButtonGadget(0, 0, 30,200, 25, "start/stop",#PB_Button_Toggle)
TextGadget(1, 0, 0,200, 20, "",#PB_Text_Center )
Repeat:ev=WaitWindowEvent():Select ev
Case #PB_Event_Gadget:eg=EventGadget()
Select eg
Case 0
If GetGadgetState(0):ClearDebugOutput()
a=ElapsedMilliseconds()
t=a:Repeat
Delay(1);1-15-25-....
b=ElapsedMilliseconds()
c=b-a:If c>0:If c>3:Debug ""+b+"-"+a+"="+c:EndIf
a=b:SetGadgetText(1,Str(a-t))
EndIf
WindowEvent()
If GetGadgetState(0)=0:Break:EndIf
ForEver:EndIf
EndSelect
Case #PB_Event_CloseWindow:Break
EndSelect:ForEver
End
Re: MillisecondTime for windows os
Posted: Fri Aug 18, 2017 11:44 am
by gurj
'bad' MillisecondTime2:
Code: Select all
;'bad' MillisecondTime
OpenWindow(0,0,0,200,60,"",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
LoadFont(0,"System", 12, #PB_Font_Bold):SetGadgetFont(#PB_Default, FontID(0))
ButtonGadget(0, 0, 30,200, 25, "start/stop",#PB_Button_Toggle)
TextGadget(1, 0, 0,200, 20, "",#PB_Text_Center )
Repeat:ev=WaitWindowEvent():Select ev
Case #PB_Event_Gadget:eg=EventGadget()
Select eg
Case 0
If GetGadgetState(0):ClearDebugOutput()
a=ElapsedMilliseconds()
t=a:Repeat
;del---Delay(1);1-15-25-....
b=ElapsedMilliseconds()
c=b-a:If c>0:If c>16:Debug ""+b+"-"+a+"="+c:EndIf
a=b:SetGadgetText(1,Str(a-t))
EndIf
WaitWindowEvent(1)
If GetGadgetState(0)=0:Break:EndIf
ForEver:EndIf
EndSelect
Case #PB_Event_CloseWindow:Break
EndSelect:ForEver
End