Aggiunta funzione len (di una stringa) alle espressioni
git-svn-id: svn://10.65.10.50/trunk@5481 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7872861e54
commit
75d190f902
@ -577,6 +577,13 @@ void TExpression::eval()
|
||||
s1 = s1.sub(from, to);
|
||||
}
|
||||
break;
|
||||
case _len:
|
||||
{
|
||||
TString s1(evalstack.pop_string());
|
||||
|
||||
evalstack.push(real(s1.len()));
|
||||
}
|
||||
break;
|
||||
case _pow:
|
||||
{
|
||||
const real & r2 = evalstack.pop_real();
|
||||
@ -709,20 +716,20 @@ HIDDEN char _tok[81];
|
||||
|
||||
TCodesym TExpression::tok2fun(const char* tok) const
|
||||
{
|
||||
const int MAX_TOK = 26;
|
||||
const int MAX_TOK = 27;
|
||||
HIDDEN const char* fnstr[MAX_TOK] = { "ANSI", "CEIL", "COS", "EXP", "EXP10",
|
||||
"IF", "LEFT", "LOG", "LOG10", "MAX",
|
||||
"MID", "MIN", "NUM", "PERC", "POW",
|
||||
"RIGHT", "ROUND", "SCORP", "SIN", "SQR",
|
||||
"SQRT", "STR", "SUBSTR","TAN", "TRUNC",
|
||||
"UPPER"};
|
||||
"IF", "LEFT", "LEN", "LOG", "LOG10",
|
||||
"MAX", "MID", "MIN", "NUM", "PERC",
|
||||
"POW", "RIGHT", "ROUND", "SCORP", "SIN",
|
||||
"SQR", "SQRT", "STR", "SUBSTR","TAN",
|
||||
"TRUNC", "UPPER"};
|
||||
|
||||
HIDDEN TCodesym fntok[MAX_TOK] = { _ansi, _ceil, _cos, _exp, _exp10,
|
||||
_if, _left, _log, _log10, _max,
|
||||
_mid, _min, _num, _perc, _pow,
|
||||
_right, _round, _scorp, _sin, _sqr,
|
||||
_sqrt, _str, _substr, _tan, _trunc,
|
||||
_upper};
|
||||
_if, _left, _len, _log, _log10,
|
||||
_max, _mid, _min, _num, _perc,
|
||||
_pow, _right, _round, _scorp, _sin,
|
||||
_sqr, _sqrt, _str, _substr, _tan,
|
||||
_trunc, _upper};
|
||||
|
||||
int f = 0, l = MAX_TOK-1, i = MAX_TOK/2;
|
||||
while (TRUE)
|
||||
@ -1019,6 +1026,7 @@ TCodesym TExpression::__factor(TCodesym startsym)
|
||||
case _tan:
|
||||
case _ansi:
|
||||
case _upper:
|
||||
case _len:
|
||||
sym = __function(1);
|
||||
_code.add(startsym);
|
||||
break;
|
||||
|
@ -66,6 +66,7 @@ enum TCodesym {
|
||||
_perc, // @emem Calcola la percentuale
|
||||
_scorp, // @emem Scorpora una percentuale
|
||||
_substr, // @emem Estrae una sottostringa
|
||||
_len, // @emem Lunghezza di una stringa
|
||||
} ;
|
||||
// @doc INTERNAL
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user