Как работать с текущим временем?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Как работать с текущим временем?

Сообщение Dic » 28.08.2007 11:37:29

В TP использовал системный таймер по адресу, в Delphi - пользовался GetTickCount ну и еще по мелочам :-)
А в FP что вместо этого использовать?
Короче нужен текущий счетчик тиков!
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск

Сообщение alexs » 28.08.2007 12:54:47

если в винде - то точно также как и в дельфине
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Dic » 28.08.2007 13:12:58

Да уж! действительно работает "GetTickCount", при условии, что к программе добавляется модуль "WINDOWS" (я имел ввиду перенос исходников с TP на FP)
Спасибо, все работает! Можно задавать следующий вопрос из этой-же серии :-)
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск

Сообщение alexs » 28.08.2007 14:39:03

но это не наш путь - не кросплатформенное решение :-)
(как сделать кросплатформенно - сейчас я не знаю) :lol:
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение shade » 28.08.2007 22:45:28

Есть такая замечательная функция now - возвращает текущюю дату/время в формате TDateTime...
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Dic » 29.08.2007 06:26:36

С NOW работать не очень удобно в тех случаях, когда требуются замеры временных интервалов в программе.

В свое время приходилось для очень уж критичных синхронизаций использовать аппаратный счетчик на материнской плате. В Winde это

через QueryPerformanceCounter(TIM1);

Здорово было-бы на основе его какую-то кроссплатформенную функцию сгородить. но пока УВЫ!
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск

Сообщение shade » 29.08.2007 11:27:12

Замеры маленьких интервалов времени в многозадачной среде будут по меньшей мере неточны...

Кстати GetTickCount есть и в LCL - нужно только подключить LCLIntf :wink:
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Dic » 30.08.2007 05:20:48

Да это понятно, но вот год назад пришлось из под Windы синхронизировать два устройства с точностью до наносекунд (навигационная аппаратура). Ох и повыпендриваться пришлось... Но получилось! (хотя конечно не без аппаратной поддержки и специальных приемов типа многократных измерений и повторов при неудаче :-) )
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru