false and true

From Lazarus wiki
Revision as of 10:11, 2 May 2018 by Kai Burghardt (talk | contribs) (review; add some example code)
Jump to navigationJump to search

English (en)

The constant false is used to define the false condition of a boolean variable, as opposed to its opposite, true. This is a manifest constant which is defined as part of the standard data types the compiler initially knows about.

This constant value must be predefined by the compiler as there is no way to define it in terms of anything else.

program falseDemo(input, output, stderr);

uses
	typInfo;

begin
	writeLn(false);                            // prints FALSE
	
	// enumerative actions ------------------------------------------
	writeLn(ord(false));                       // prints 0
	writeLn(succ(false));                      // prints TRUE
	// next two statements generate out-of-range compile-time warnings
	writeLn(pred(false));                      // prints TRUE
	writeLn(succ(succ(false)));                // prints TRUE
	
	// data type ----------------------------------------------------
	writeLn(sizeOf(false));                    // prints 1
	writeLn(bitSizeOf(false));                 // prints 8
	writeLn(PTypeInfo(typeInfo(false))^.kind); // prints tkBool
	writeLn(PTypeInfo(typeInfo(false))^.name); // prints Boolean
end.