я не понял, зачем Вам переход через 0?
поставьте к примеру не 0, а 100(или 1000)
и считайте только положительные значения, без всяких наворотов.
Вы же влазите в размер 0-65535.
если нет, то преобразуйте в Dword
программу напишите так:
C:dword;
оттуда, M:word;
C:=C + ((оттуда - M) and 65535);
M:=оттуда;
в программе работайте только с переменной С.
обнуление или присвоение какого либо др. значения этой переменной на значение в энкодере(оттуда) не влияет.




Ответить с цитированием
