summaryrefslogtreecommitdiff
path: root/html/xbc16.htm
blob: b19511b1d9d5760a7c6aaf6dd3a8cdb1357287cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!doctype html public>
<html>
<title>Xbase DBMS Chapter 16</title>
<body bgcolor=#FFFFFF>
<h1><p align="center">Expressions Reference<br></h1>
<p align="center">Chapter Updated 2/19/04</p><hr>
<br><br>
<table border>
<caption align=top><h3>Expression Operands</h3></caption> 
<TR VALIGN="BASELINE">
<TR><TH ALIGN="LEFT">Operand<TD>Type<TD>Function
<TR><TH ALIGN="LEFT">+<TD>Alpha<TD>Concatonate
<TR><TH ALIGN="LEFT">+<TD>Numeric<TD>Addition
<TR><TH ALIGN="LEFT">-<TD>Alpha<TD>Concatonate, remove white space
<TR><TH ALIGN="LEFT">-<TD>Numeric<TD>Subtraction
<TR><TH ALIGN="LEFT">*<TD>Numeric<TD>Multiplication
<TR><TH ALIGN="LEFT">/<TD>Numeric<TD>Division
<TR><TH ALIGN="LEFT">**<TD>Numeric<TD>Exponentiation
<TR><TH ALIGN="LEFT"><<TD>Logical<TD>Less Than
<TR><TH ALIGN="LEFT">><TD>Logical<TD>Greater Than
<TR><TH ALIGN="LEFT">=<TD>Logical<TD>Equal
<TR><TH ALIGN="LEFT"><><TD>Logical<TD>Not Equal
<TR><TH ALIGN="LEFT">#<TD>Logical<TD>Not Equal
<TR><TH ALIGN="LEFT"><=<TD>Logical<TD>Less Than or Equal
<TR><TH ALIGN="LEFT">>=<TD>Logical<TD>Greater Than or Equal
<TR><TH ALIGN="LEFT">$<TD>Logical<TD>Contains
<TR><TH ALIGN="LEFT">-><TD>N/A<TD>Identifies database field ie; DATABASE->FIELD
<TR><TH ALIGN="LEFT">.AND.<TD>Logical<TD>Logical AND
<TR><TH ALIGN="LEFT">.OR.<TD>Logical<TD>Logical OR
</TABLE>

<br><br><br>
<TABLE BORDER>
<CAPTION ALIGN="TOP"><h3>Expression Functions</h3></CAPTION> 
<TR VALIGN="BASELINE">
<TR><TH ALIGN="LEFT">Expression Function<TD>Xbase C++ Method<TD>Description
<TR><TH ALIGN="LEFT">ABS()<TD>xbDouble EXPN::ABS( xbDouble d )<TD>
Returns absolute numeric value of argument.
<TR><TH ALIGN="LEFT">ASC()<TD>xbLong EXPN::ASC( char * String )<TD>
Returns ASCII code of left character of string. 
<TR><TH ALIGN="LEFT">AT()<TD>xbLong EXPN::AT( char *s1, char *s2 )<TD>
Returns starting position of first alphanumeric argument in second argument.
<TR><TH ALIGN="LEFT">CDOW()<TD>char * EXPN::CDOW( char Date8 )<TD> 
Returns name of the day of the week of Date8.
<TR><TH ALIGN="LEFT">CHR()<TD>char * EXPN::CHR( xbLong l )<TD> 
Returns ASCII character corresponding to numeric value supplied.
<TR><TH ALIGN="LEFT">CMONTH()<TD>char * EXPN::CMONTH( char * Date8 )<TD> 
Returns name of the month of Date8.
<TR><TH ALIGN="LEFT">DATE()<TD>char * EXPN::DATE()<TD> 
Returns system date.
<TR><TH ALIGN="LEFT">DAY()<TD>xbLong EXPN::DAY( char * Date8 )<TD> 
Returns numeric value of the day of the month for Date8.
<TR><TH ALIGN="LEFT">DESCEND()<TD>EXPN::DESCEND()<TD>
Descend - used to create descending indices
<TR><TH ALIGN="LEFT">DTOC()<TD>char * EXPN::DTOC( char * Date8 )<TD>
Returns a date converted to format MM/DD/YY.
<TR><TH ALIGN="LEFT">EXP()<TD>xbDouble EXPN::EXP( xbDouble d )<TD> 
Returns exponential for supplied value.
<TR><TH ALIGN="LEFT">IIF()<TD>
char * EXPN::IIF( xbShort, const char *,const char *)<TD>If statement
<TR><TH ALIGN="LEFT">INT()<TD>xbLong EXPN::INT( xbDouble d )<TD>
Converts any numeric value to an integer.
<TR><TH ALIGN="LEFT">ISALPHA()<TD>xbLong EXPN::ISALPHA( char * String )<TD> 
Returns TRUE if string is alpha.
<TR><TH ALIGN="LEFT">ISLOWER()<TD>xbLong EXPN::ISLOWER( char * String )<TD> 
Returns TRUE if string is lower case.
<TR><TH ALIGN="LEFT">ISUPPER()<TD>xbLong EXPN::ISUPPER( char * String )<TD> 
Returns TRUE if string is upper case.
<TR><TH ALIGN="LEFT">LEFT()<TD>char * EXPN::LEFT( char * String, xbShort Len )<TD> 
Returns <em>Len</em> characters from the left side of <em>String</em>.
<TR><TH ALIGN="LEFT">LEN()<TD>xbLong EXPN::LEN( char * String )<TD> 
eturns the number of characters in the String.
<TR><TH ALIGN="LEFT">LOG()<TD>xbDouble EXPN::LOG( xbDouble d )<TD>
Returns the natural log of d.
<TR><TH ALIGN="LEFT">LOWER()<TD>char * EXPN::LOWER( char * String )<TD>
Converts a string to lower case.
<TR><TH ALIGN="LEFT">LTRIM()<TD>char * EXPN::LTRIM( char * String )<TD>
Eliminates leading white space from String.
<TR><TH ALIGN="LEFT">MAX()<TD>xbDouble EXPN::MAX( xbDouble d1, xbDouble d2 )<TD>
Returns the larger of two numeric arguments.
<TR><TH ALIGN="LEFT">MIN()<TD>xbDouble EXPN::MIN(xbDouble d1, xbDouble d2 )<TD> 
Returns the smaller of two numeric arguments.
<TR><TH ALIGN="LEFT">MONTH()<TD>xbLong EXPN::MONTH( char * Date8 )<TD> 
Returns numeric month for Date8.
<TR><TH ALIGN="LEFT">RECNO()<TD>xbLong EXPN::RECNO()<TD>
Returns the current record number of the associated DBF file
<TR><TH ALIGN="LEFT">REPLICATE()<TD>char * EXPN::REPLICATE( char * String, xbShort Count )<TD> 
Replicates String Conut times.
<TR><TH ALIGN="LEFT">RIGHT()<TD>char * EXPN::RIGHT( char * String, xbShort Count )<TD>
Returns Count characters from the right side of String.
<TR><TH ALIGN="LEFT">RTRIM()<TD>char * EXPN::RTRIM( char * String )<TD>
Removes trailing white space from String.
<TR><TH ALIGN="LEFT">SPACE()<TD>char * EXPN::SPACE( xbShort Count )<TD>
Returns a buffer filled with Count spaces.
<TR><TH ALIGN="LEFT">SQRT()<TD>xbDouble EXPN::SQRT( xbDouble d )<TD>
Returns square root of d.
<TR><TH ALIGN="LEFT">STR()<TD>
char * EXPN::STR( xbDouble d )<hr>
char * EXPN::STR( xbDouble, xbShort )<hr>
char * EXPN::STR( xbDouble, xbShort, xbShort )
<TD>
Converts a number to a string.
<TR><TH ALIGN="LEFT">SUBSTR()<TD>char * EXPN::SUBSTR( char * String, xbShort StartPos, xbShort Len )<TD>
Returns a string form String starting at position StartPos for a length of Len.
<TR><TH ALIGN="LEFT">TRIM()<TD>char * EXPN::TRIM( char * String )<TD> 
Same as RTRIM.
<TR><TH ALIGN="LEFT">UPPER()<TD>char * EXPN::UPPER( char * String )<TD> 
Converts a string to upper case.
<TR><TH ALIGN="LEFT">VAL()<TD>xbLong EXPN::VAL( char * String )<TD> 
Converts a string to an integer.
<TR><TH ALIGN="LEFT">YEAR()<TD>xbLong EXPN::YEAR( char * Date8 )<TD> 
Returns numeric year from Date8.
</TABLE>



<br><br><br>
<TABLE BORDER>
<CAPTION ALIGN="TOP"><h3>Expression Processing Method List</h3></CAPTION> 
<TR VALIGN="BASELINE">
<TR><TH ALIGN="LEFT">Method<TD>Description
<TR><TH ALIGN="LEFT">GetDoubleResult()<TD>Get xbDouble result from processed expression
<TR><TH ALIGN="LEFT">GetIntResult()<TD>Get a xbLong result from processed expression
<TR><TH ALIGN="LEFT">GetExpressionHandle()<TD>Get an expression's handle
<TR><TH ALIGN="LEFT">GetExpressionResultType(xbExpression *)<TD>Get expression result type
<TR><TH ALIGN="LEFT">GetStringResult()<TD>Get xbString & result from processed expression
<TR><TH ALIGN="LEFT">ParseExpression(char *,xbDbf *)<TD>Parse an expression
<TR><TH ALIGN="LEFT">ProcessExpression(xbExpression *)<TD>Process a parsed expression
</TABLE>
<br><hr>
<h3>Method Definitions</h3>
<hr>

<h3>Method xbDouble xbXBase::GetDoubleResult()</h3><br>

This method returns a xbDouble result from a processed expression.
<br><br>
See the program listing in chapter 5 for an example of how to use this method.

<hr>
<h3>Method xbLong xbXBase::GetIntResult()</h3><br>
This method returns a xbLong result from a processed expression.
<br><br>
See the program listing in chapter 5 for an example of how to use this method.

<hr>
<h3>Method xbExpression * xbXBase::GetExpressionHandle()</h3><br>

This method returns a handle to a recently parsed expression.
<br><br>
See the program listing in chapter 5 for an example of how to use this method.

<hr>
<h3>Method char xbXBase::GetExpressionResultType( xbExpression * e )</h3><br>

This method returns the result type for a given expression <em>e</em>.

<br>
<br>
<TABLE BORDER>
<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION> 
<TR VALIGN="BASELINE">
<TR><TH ALIGN="LEFT">Return Code Value<TD>Description
<TR><TH ALIGN="LEFT">C<TD>char * result from processed expression 
- use GetStringResult()
<TR><TH ALIGN="LEFT">N<TD>xbDouble result from processed expression 
- use GetDoubleResult()
<TR><TH ALIGN="LEFT">L<TD>xbLong (also logical) result from processed expression
- use GetIntResult()
</TABLE><br><br>

See the program listing in chapter 5 for an example of how to use this method.

<hr>
<h3>Method char * xbXBase::GetStringResult()</h3><br>

This method returns a xbString & result from a processed expression.
<br><br>
See the program listing in chapter 5 for an example of how to use this method.

<hr

<hr>
<h3>Method xbShort ParseExpression( char * exp, DBF * d)</h3><br>

This method parses expression <em>exp</em>.<br><em>d</em> is a pointer to
a database used for resolving any fieldname which does not contain the
<en>-></em> operator. 

<br><br>
See the program listing in chapter 5 for an example of how to use this method.
<hr>
<h3>Method xbShort ProcessExpression( xbExpression * e )</h3><br>

This method processes parsed expression <em>e</em>.
<br><br>
See the program listing in chapter 5 for an example of how to use this method.
<br><br>
<hr>
<p><img src="xbase.jpg"><br><hr>
</BODY>
</HTML>