GetPeriodMs

From SunFlurry wiki
Revision as of 11:53, 30 April 2019 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  GetPeriodMs (Функции работы с датами)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в дату
Визуальность:Нет

Функция получает количество миллисекунд, прошедших с даты аргумента до текущего момента. Действие функции аналогично выполнению конструкции GetPeriod(<Аргумент>,Date(),5), поэтому GetPeriodMs является облегченной версией GetPeriod.
Функция может использоваться для определения времени, которое заняла определенная операция, либо цикл ожидания, однако, нужно понимать, что период времени вычисляется на основе системных часов, что приведет к некорректному результату функции, если системное время было изменено после получения начальной даты периода (<Дата 1>). Кроме того, данная функция обеспечивает точность не более десятков миллисекунд, так как точность системных часов компьютера обычно невелика. Чтобы получить большую точность при измерении периода и избавиться от зависимости от системных часов, можно использовать функцию dbgHRPCGetPeriod, однако, последняя подразумевает, что компьютер имеет таймер высокой точности, и оный переведен в рабочее состояние (обычно включение такого таймера происходит в BIOSе компьютера).

Синтаксис

GetPeriodMs(<Аргумент>):<Количество миллисекунд (INT)>

Аргументы

  • <Аргумент> - Дата и время начала периода

Возвращаемое значение

Возвращает целое значение миллисекунд.

Примеры

Дата1:=Date();
Sleep(1250);
Message(GetPeriodMs(Дата1));
//Будет выведено число около 1250 (число может быть не равно 1250, так как остальные инструкции также занимают некоторое время)