Здравствуйте.
Вопрос №1. Как и где правильно применять процедуру SetTimeFormat('hh:nn:ss');.
Вопрос №2. Для отображения миллисекунд на мнемосхеме достаточно объявить (с учетом вопроса№1) процедуру в виде SetTimeFormat('hh:nn:ss:zzz')? Можете пример привести?
Чаще всего для вывода на экран даты/времени используют
компонент Календарь. У него можно задать нужный формат даты/времени, например время с миллисекундами. Тогда процедуру SetTimeFormat никогда не придётся использовать. Мы рекомендуем выводить все переменные DateTime на мнемосхему именно через компонент Календарь, т.к. он для этого предназначен и позволяет избежать "лишних" конвертаций даты/времени в строку через скрипты.
Формат заданный процедурой SetTimeFormat используется только в функциях
TimeToStr,
DateTimeToStr,
StrToTime,
StrToDateTime. Т.е. можно создать скрипт с типом события
"Запуск проекта" (он выполнится только один раз - при запуске проекта) и в нём задать какой-то нестандартный формат времени, тогда вышеперечисленные функции будут использовать заданный формат. Также при желании можно в разных скриптах через SetTimeFormat задавать разный формат, например в одном скрипте с миллисекундами, в другом без.
При запуске TimerStart(vrTime, 0), 0 обозначает начало отсчета времени от 30.12.1899 00:00:00?
Да, т.к. у переменных DateTime значение 0 соответствует дате/времени "30.12.1899 00:00:00".
Если использовать TimerStart(vrTime, Now), то таймер пойдет с текущего в данный момент времени и сброситься только после команды TimerReset.
Да, Now возвращает текущее время, поэтому отсчет пойдёт от него.
Можно ли использовать такую конструкцию:
TimerStart(vrTime, StrToDateTime('15.07.2019 17:00:00')) - запуск таймера в заданные дату и время?
Да, в качестве времени можно использовать любое значение DateTime. Функция StrToDateTime не исключение, ведь она переводит строку даты/времени в значение DateTime.
делаем универсальный скрипт на нажатие кнопки aMinute.Value := MinutesBetween(Now, vrTime_5m.AsDateTime) и по идее в переменной aMinute должна быть записана разница. Между чем?
Между двумя значениями даты/времени которые Вы передали в MinutesBetween. Т.е. в aMinute.Value будет записано количество минут между текущим временем и временем из переменной vrTime_5m.