SmartPascal
And
Keyword
Boolean and or bitwise and of two arguments
1   Boolean expression and Boolean expression
2   Integer expression and Integer expression
Description
The And keyword is used in two different ways:
 
1. To perform a logical or boolean 'and' of two logical values. If both are true, then the result is true, otherwise, the result is false.
 
2. To perform a mathematical 'and' of two integers. The result is a bitwise 'and' of the two numbers. For example:
 
10110001 And 01100110 = 00100000
Notes
If the boolean expression is calculated (as opposed to being a Boolean variable), then brackets are required to isolate it.
Related commands
Not Boolean Not or bitwise not of one arguments
Or Boolean or or bitwise or of two arguments
Xor Boolean Xor or bitwise Xor of two arguments
 
Example code : Illustrate both types of and usage
// Full Unit code.
// -----------------------------------------------------------
// You must store this code in a unit called Unit1 with a form
// called Form1 that has an OnCreate event called FormCreate.
 
unit Unit1;
 
interface
 
uses
  Forms, Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;
 
var
  
Form1: TForm1;
 
implementation
{$R *.dfm} // Include form definitions
 
procedure TForm1.FormCreate(Sender: TObject);

var
  num1, num2, num3 : Integer;
  letter           : Char;

begin
  num1   := $25;    // Binary value : 0010 0101
  num2   := $32;    // Binary value : 0011 0010
                    // And'ed value : 0010 0000 = $20 = 32 dec
  letter := 'G';

  // And used to return a Boolean value
  if (num1 > 0) And (letter = 'G')
  then ShowMessage('Both values are true')
  else ShowMessage('None or only one true value');

  // And used to perform a mathematical AND operation
  num3 := num1 And num2;

  ShowMessageFmt('$25 And $32 = $%x',[num3]);
end;
 
end.
Hide full unit code
   Both values are true
   $25 And $32 = $20