Показать сообщение отдельно
Старый 28.06.2004, 20:40     # 2
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Посмотри, может поможет чем...
Код:
Const
Bit0 = 1;
Bit1 = 2;
Bit2 = 4;
Bit3 = 8;
Bit4 = 16;
Bit5 = 32;
Bit6 = 64;
Bit7 = 128;
Bit8 = 256;
Bit9 = 512;
Bit10 = 1024;
Bit11 = 2048;
Bit12 = 4096;
Bit13 = 8192;
Bit14 = 16384;
Bit15 = 32768;

procedure SetBit(SetWord, BitNum: Word);
begin
  SetWord:= SetWord or BitNum;     { Устанавливаем бит }
end;

procedure ClearBit(SetWord, BitNum: Word);
begin
  SetWord:= SetWord or BitNum;     { Устанавливаем бит }
  SetWord:= SetWord xor BitNum;    { Переключаем бит   }
end;

procedure ToggleBit(SetWord, BitNum: Word);
begin
  SetWord:= SetWord xor BitNum;    { Переключаем бит   }
end;

function GetBitStat(SetWord, BitNum: Word) : Boolean;
begin
  GetBitStat:= SetWord and BitNum = BitNum { Если бит установлен }
end;
если не хочешь мучиться с константами, то везде BitNum понимать как порядковй номер бита и заменить его на (1 shl BitNum).. так даже красивше вроде..
__________________
Nunc est bibendum
is_absent вне форума