System.Evaluate(var Any, Text [, Integer]) Method
Version: Available or changed with runtime version 1.0.
Evaluates a string representation of a value into its typical representation. The result is assigned to a variable.
[Ok := ] System.Evaluate(var Variable: Any, String: Text [, Number: Integer])
This method can be invoked without specifying the data type name.
The value of the string is assigned to the variable.
A string that contains a value of any simple AL data type.
This optional value can be used when exporting data with an XmlPort. The only valid values are 9 and 10. 9 indicates that the data must be converted from XML format to C/SIDE format. 10 indicates that the data must be converted from bookmark.
true if the operation was successful; otherwise false. If you omit this optional return value and the operation does not execute successfully, a runtime error will occur.
This example shows how to use the Evaluate method when it is called with four different types of variables.
var VarInteger: Integer; VarDate: Date; VarYesNo: Boolean; VarDuration: Duration; Value: Text; Ok1: Boolean; Ok2: Boolean; Ok3: Boolean; Ok4: Boolean; Text000: Label 'VarInteger = \#1\#\#\#\#\#\#. The return code is: %2.\\'; Text001: Label 'VarDate = \#3\#\#\#\#\#\#. The return code is: %4.\\'; Text002: Label 'VarYesNo = \#5\#\#\#\#\#\#. The return code is: %6.\\'; Text003: Label 'VarDuration = %7. The return code is: %8.'; begin Value := '19960101'; Ok1 := Evaluate(VarInteger, Value); Ok2 := Evaluate(VarDate, Value); Ok3 := Evaluate(VarYesNo, Value); Value := '2days 4hours 3.7 seconds 17 milliseconds'; Ok4 := Evaluate(VarDuration, Value); Message(Text000 + Text001 + Text002 + Text003, VarInteger, Ok1, VarDate, Ok2, VarYesNo, Ok3, VarDuration, Ok4); end;
The message window displays the following:
VarInteger = 10196 . The return code is: Yes.
VarDate = 01/01/96. The return code is: Yes.
VarYesNo = No . The return code is: No.
VarDuration = 2 days 4 hours 3 seconds 717 milliseconds. The return code is: Yes.
This example shows that although Value ('010196') can be interpreted as both an integer and a date expression, it cannot be interpreted as a Boolean expression. This causes an error, shown in the return code Ok3 (=False).
This example also shows that when you evaluate a string as a duration data type, you can use certain words in the string to describe the duration. The following words or abbreviations are supported:
day, days, d
hour, hours, h
minute, minutes, min, m
second, seconds, sec, s
millisecond, milliseconds, milli, millis
You can include decimal values in the string that you evaluate as a duration, except for milliseconds, which must be a whole number.
Submit and view feedback for