From Lazarus wiki
Jump to: navigation, search

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

Boolean operation

Boolean Or produces a value of true if some value is true and false if both of its Boolean operands are false.

Truth table

A B A or B
  false     false     false
  false   true   true
  true   false   true
  true   true   true

Bitwise operation

Logical Or (aka Bitwise Or) requires ordinal operands and sets and a bit in the result variable to 1 if one corresponding bit in its operands is 1, and to 0 if both are 0.

Set a bit

function SetBit(const AValue, ABitNumber:integer):integer;
   result := AValue or (1 shl ABitNumber);

If you call SetBit(%1000,1) then get %1010 (%1000 = 8 and %1010 = 10). If you call SetBit(10,2) then get 14 (14 = %1110). If you call SetBit(10,1) then get 10.

See also