Expression
Comparison expression functions:
C/C ++ code
// ================================================ ====================================
// Function: f_exp_compare
//--------------------------------------------------------------------
// Description: returns the comparison result of the comparison expression.
//--------------------------------------------------------------------
// Parameters:
// Value string as_str calculation expression, for example, 60 <70
//--------------------------------------------------------------------
// Return value: String comparison indicates that result 1 of the test is true, 0 is false, and-1 is an expression error.
// ================================================ ====================================
String ls_retval
Datastore lds_evaluate
Lds_evaluate = create datastore
Lds_evaluate.create ('release 8 ;~ R ~ Ntable ()')
Ls_retval = lds_evaluate.describe ("evaluate ('" + "If (" + as_str + ", 1, 0)" + "', 1 )")
Destroy lds_evaluate
If ls_retval = '! 'Then ls_retval = '-1'
Return ls_retval
Function used to calculate the expression value:
C/C ++ code
// ================================================ ====================================
// Function: f_exp_ret
//--------------------------------------------------------------------
// Description: return the value of the calculated expression.
//--------------------------------------------------------------------
// Parameters:
// Value string as_str calculation expression, such as 2*(3 + 5)
//--------------------------------------------------------------------
// Return value: String calculates the result value of the expression. If the expression is incorrect, 'false' is returned'
// ================================================ ====================================
String ls_retval
Datastore lds_evaluate
Lds_evaluate = create datastore
Lds_evaluate.create ('release 8 ;~ R ~ Ntable ()')
Ls_retval = lds_evaluate.describe ("evaluate ('" + as_str + "', 1 )")
Destroy lds_evaluate
If ls_retval = ''or ls_retval = '! 'Then ls_retval = 'false'
Return ls_retval
Example:
C/C ++ code
String ls_exp1, ls_exp2, ls_ret1, ls_ret2
Ls_exp1 = '69 <70'
Ls_ret1 = f_exp_compare (ls_exp1)
Ls_exp2 = '60*(20 + 3 )'
Ls_ret2 = f_exp_ret (ls_exp2)
MessageBox ('', ls_exp1 + '-->' + ls_ret1 + '~ R ~ N' + &
Ls_exp2 + '-->' + ls_ret2)