[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Только первая маска не 256, а 128 ( СЗР ) и сдвиг делал 8 раз на 1 разряд. Вот так:
FUNCTION DATACONV(DATA:BYTE):byte;
VAR CONV,MASK,MASK1:BYTE;
BEGIN
CONV:=0;
MASK1:=128;
MASK:=1;
REPEAT
IF (MASK AND DATA)<>0 THEN CONV:=CONV OR MASK1;
MASK:=MASK SHL 1;
MASK1:=MASK1 SHR 1;
UNTIL MASK=0;
DATACONV:=CONV;
END;
E-mail: info@telesys.ru