Прошу прощения что вмешался.
и в то-же время в разделе справки Идентификаторы переменных, границы для TOD не указаны.TIME, TIME_OF_DAY (сокр. TOD) содержит время суток, начиная с 0 часов (с точностью до миллисекунд). Диапазон значений TOD от: 00:00:00 до 23:59:59.999
т.е. здесь не бред кодесиса, а того кто хелп писал.
а ещё в хелпе есть такая строчка
В той же справке есть описание того что такое сложение переменных "+"TIME1 := T#100S12ms; (*Старший компонент может выходить за свой предел*)
DATE в этом списке нет!!!ADD
Сложение переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.
Две переменных типа TIME можно складывать (напр. t#45s + t#50s = t#1m35s). Результат имеет тип TIME.
т.е. сторочку
DATE1 := D#2010-12-10 + T#1d;
кодесис естественно выполнит так как и должен это сделать, преобразует константы в DWORD, выполнит сложение и то что получилось отобразит как дату, т.е полную фигню
Я ноль в кодесисе, но кое что знаю о других языках, например кое где есть функция dateadd.
На детские грабли наступаем? и требуем от компилятора телепатических способностей?




Прошу прощения что вмешался.
Ответить с цитированием