Сообщение от
melky
Владимир Ситников в вашем варианте еще переход через ноль придется отслеживать.... Простой счетчик в несколько раз проще, за одним исключением, они зараза все 16-ти разрядные.
Какие глупости..
Если считать наработку как "текущее время"-"время старта", то для целочисленной арифметики все получается правильно даже если текущее время "перешло через 0"
melky Вы думаете, что в стандартном таймере отсчет времени как- то по другому сделан?
Захват-1.png
ЗЫ.
Пример когда время "перешло через 0"
Код:
StartTime:= DWORD_TO_TIME(16#FFFFFFF0); (* 4 294 967,280 сек*)
EndTime:= DWORD_TO_TIME(0); (* 0 сек *)
EndTime_2:= DWORD_TO_TIME(1000); (* 1 сек *)
Work_Time1:= EndTime - StartTime;
Work_Time2:= EndTime_2 - StartTime;
Результат
Захват-2.png