Страница 2 из 2

Добавлено: 18 мар 2011, 12:45
roach
Михаил Поляков писал(а):hardCounter - текущее значение data = UpdateData_LIR

prevHardCounter - предыдущее значение data
каким образом считывать prevHardCounter ?

Добавлено: 18 мар 2011, 13:10
Михаил Поляков

Код: Выделить всё

var
 // Глобальные переменные
 relativeCounter, prevHardCounterX, d, ReferentPoint:Integer;
const
 MaxCounter=16777216;  // =  1 shl 24    = 2^24


procedure TForm1.Timer1Timer(Sender: TObject);
var
StateByte, Ident : Byte;
hardCounterX, d,:Integer;


hardCounterX:= UpdateData_LIR (hFile, 2, ident, statebyte);

d:= hardCounterX - prevHardCounterX;

prevHardCounterX:= hardCounterX

if Abs(d) > (MaxCounter/2) then   d:=d-sign(d)*MaxCounter;

RelativeCounter = RelativeCounter + d;   // программно-аппаратный знаковый счетчик

if Ident=2 then begin
 ReferentPoint = RelativeCounter; // координата референтной метки
end;


dLabel.Caption:=inttostr(RelativeCounter);
end;

Добавлено: 18 мар 2011, 14:10
roach
спасибо! все работает только вы забыли prevHardCounter:=hardCounter