CalculateRealExpression

Function CalculateRealExpression(expression: String) : Real
Returns the result of the expression as a Real.

This function calculates an expression such as "4.2 + ( weight * 2.1 )" where weight would be a VirtualVariable, 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