From d6047bf5b89303f01aaa87314f3d1c8d3155fc6d Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 21 Aug 1995 14:46:26 +0000 Subject: [PATCH] Modifica 95/11 Aggiunta funzione ansi alle espressioni git-svn-id: svn://10.65.10.50/trunk@1716 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/expr.cpp | 14 +++++++++++--- include/expr.h | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/include/expr.cpp b/include/expr.cpp index 92b44182f..0675a77b6 100755 --- a/include/expr.cpp +++ b/include/expr.cpp @@ -5,6 +5,7 @@ #include #include #include +#include TCodearray::TCodearray(int size) : _rpn(size) { @@ -490,6 +491,12 @@ void TExpression::eval() evalstack.push(o1); } break; + case _ansi: + { + const TDate d((const TString&)evalstack.pop()); + const TString16 s(d.string(ANSI)); + evalstack.push(s); + } default: break; } @@ -507,11 +514,11 @@ HIDDEN char _tok[81]; HIDDEN const char* _fntable[] = { "sqrt", "sqr", "exp10", "exp", "log10", "log", "sin", "cos", "tan", "left", "right", "pow", "min", "max", "mid", "upper", - "round", NULL }; + "round", "ansi", NULL }; HIDDEN TCodesym _fntok[] = { _sqrt, _sqr, _exp10, _exp, _log10, _log, _sin, _cos, _tan, _left, _right, _pow, - _min, _max, _mid, _upper, _round}; + _min, _max, _mid, _upper, _round, _ansi}; TCodesym TExpression::__gettoken(bool reduct) @@ -723,7 +730,8 @@ TCodesym TExpression::__factor(TCodesym startsym) case _pow: case _min: case _max: - case _round: + case _round: + case _ansi: sym = __gettoken(); if (sym == _lpar) sym = __gettoken(TRUE); else break; diff --git a/include/expr.h b/include/expr.h index 10d92e648..2314fb2f0 100755 --- a/include/expr.h +++ b/include/expr.h @@ -52,7 +52,8 @@ enum TCodesym { _max, // @emem Massimo tra piu' elementi _mid, // @emem Media degli elementi _upper, // @emem Trasformazione in maiuscolo - _round } ; // @emem Arrotondamento + _round, // @emem Arrotondamento + _ansi } ; // @emem Data in ansi // @enum TTypeesp | Tipi di espressioni definiti enum TTypeexp {