61 #define XB_EXPRESSION xbExpNode
80 const char * FuncName;
132 if( Sibling1 )
delete Sibling1;
133 if( Sibling2 )
delete Sibling2;
134 if( Sibling3 )
delete Sibling3;
147 xbExpNode * GetTree(
void ) {
return Tree; }
148 void SetTreeToNull(
void ) { Tree = NULL; }
149 xbExpNode * GetFirstTreeNode( xbExpNode * );
156 xbLong ASC(
const char * );
157 xbLong AT(
const char *,
const char * );
158 char * CDOW(
const char * );
160 char * CMONTH(
const char * );
162 xbLong DAY(
const char * );
163 xbLong DESCEND(
const char * );
164 xbLong DOW(
const char * );
165 char * DTOC(
const char * );
166 char * DTOS(
const char * );
169 xbLong ISALPHA(
const char * );
170 xbLong ISLOWER(
const char * );
171 xbLong ISUPPER(
const char * );
172 char * LEFT(
const char *,
xbShort );
173 xbLong LEN(
const char * );
175 char * LOWER(
const char * );
176 char * LTRIM(
const char * );
178 xbLong MONTH(
const char * );
182 char * REPLICATE(
const char *,
xbShort );
183 char * RIGHT(
const char *,
xbShort );
184 char * RTRIM(
const char * );
187 char * STR(
const char * );
188 char * STR(
const char *,
xbShort );
193 char * STRZERO(
const char * );
194 char * STRZERO(
const char *,
xbShort );
200 char * TRIM(
const char * );
201 char * UPPER(
const char * );
202 xbLong VAL(
const char * );
203 xbLong YEAR(
const char * );
208 void SetDefaultDateFormat(
const xbString f){ DefaultDateFormat = f; }
210 xbString GetDefaultDateFormat()
const {
return DefaultDateFormat; }
211 xbShort ProcessExpression(
const char *exp,
xbDbf * d );
213 XB_EXPRESSION * GetExpressionHandle();
214 char GetExpressionResultType(XB_EXPRESSION * );
215 char * GetCharResult();
219 xbShort ProcessExpression( xbExpNode * );
220 xbShort BuildExpressionTree(
const char * Expression,
xbShort MaxTokenLen,
224 void DumpExpressionTree( xbExpNode * );
225 void DumpExpNode( xbExpNode * );
229 xbFuncDtl *XbaseFuncList;
260 enum { WorkBufMaxLen = 200 };
261 char WorkBuf[WorkBufMaxLen+1];
264 char IsSeparator(
char );
265 xbExpNode * LoadExpNode(
const char * ENodeText,
const char EType,
268 xbShort ReduceComplexExpression(
const char * NextToken,
xbShort Len,
269 xbExpNode * cn,
xbDbf *d );
270 xbShort GetFunctionTokenLen(
const char *s );
271 xbShort ReduceFunction(
const char *NextToken, xbExpNode *cn,
xbDbf *d );
272 xbExpNode * GetNextTreeNode( xbExpNode * );
274 xbShort ProcessFunction(
char * );
275 xbShort ValidOperation(
char *,
char,
char );
276 char GetOperandType( xbExpNode * );
277 xbShort AlphaOperation(
char * );
278 xbShort NumericOperation(
char * );
279 xbExpNode * GetExpNode(
xbShort );
282 xbLong GetInt( xbExpNode * );
284 #endif // XB_EXPRESSIONS
285 #endif // __XB_EXP_H__
double xbDouble
xbDouble type
Definition: xtypes.h:76
xbDate class
Definition: xdate.h:78
#define XBDLLEXPORT
Definition: xbase.h:101
xbString class
Definition: xbstring.h:69
unsigned long int xbULong
xbULong type
Definition: xtypes.h:57
#define xbLong
Definition: xtypes.h:67
short int xbShort
xbShort type
Definition: xtypes.h:65
xbStack class
Definition: xstack.h:75
xbMH struct
Definition: dbf.h:201
unsigned short int xbUShort
xbUShort type
Definition: xtypes.h:61