CalculateBooleanExpression

Function CalculateBooleanExpression(expression: String) : Boolean
Returns the result of the expression as a Boolean.

This function calculates an expression such as "oranges AND ( bananas OR apples )" where apples, oranges and bananas would be VirtualVariables, and returns the result.

For more information on expression formatting, see Parser Logic and Maths.

You can also use ParserConstants, ParserMacroExpressions and ParserShortcuts.

Example:

Program
  Uses
basilisk, pure2d

Begin
  InitBasilisk(TRUE)
  OpenScreen(640,480,32,FALSE,COB_SHOWCLOSE+COB_SHOWBORDER)

   // Set up some variables as an example
   // All calculations are done automatically
   // when you use ReadSettings, this is just
   // an example.

   VirtualString("snake1","Cobra")
   VirtualString("snake2","Basilisk")

   VirtualString("foo",CalculateStringExpression("Turn Your [snake1] Into a [snake2]!"))
   VirtualString("macro_expression","( 2.1 + 3.2 )")

   VirtualReal("bar1",CalculateRealExpression("3.1 * ( 2.1 + 3.2 )"))
   VirtualReal("bar2",CalculateRealExpression("3.1 * $macro_expression"))
   VirtualReal("bar3",CalculateRealExpression("bar1 + bar2"))
   VirtualInteger("bar4",CalculateIntegerExpression("bar3")) // Automatically converts Real to Integer
   VirtualBoolean("bar5",CalculateBooleanExpression("TRUE AND ( TRUE XOR FALSE )"))

   // Results   
   Text(10,10, "String Expression: "+VirtualString("foo"))
   Text(10,30, "Calculation Result 1 (Real): "+VirtualReal("bar1"))
   Text(10,50, "Calculation Result 2 (Real): "+VirtualReal("bar2"))
   Text(10,70, "Calculation Result 3 (Real): "+VirtualReal("bar3"))
   Text(10,90, "Calculation Result 4 (Int): "+VirtualInteger("bar4"))
   Text(10,110, "Calculation Result 5 (Boolean): "+VirtualBoolean("bar5"))
  
  While Not ExitRequested
   Flip
   Pause
(2)
  Wend
     
End