The Cool Calculator V 1.3 afd is a simple business calculator in which you can either type your expressions (including use of parentheses) are build them by clicking on a collection of buttons (1, 2, 3, 4, 5, 6, 7, 8, 9, 0, (, ), *, +, -, /, =). Pysically it is a simple interface (Delphi Form) to an expression evaluation engine originally written by James L. Dean in 1985, and overhauled and enhanced by David J. Firth in 1991.
We have not surfaced all the functionality of David's program, but it is not difficult to do so, if you are so inclined. Things left unsurfaced are: ABS, ARCTAN, COS, EXP, LN, SQR, SQRT, and PI functions, along with the ability to use variables.
The code for David J. Wirth's version of the evaluation engine and his additional RPN evaluation engine can be found on the Delphi forum on CompuServe in the file called EEV10.ZIP. In extending the Cool Calculator are using the calculation engine in your programs you will want to download that file. We have included some of David's information about his program below.
NOTE: Be advised we created Cool Calculator just for kicks and did it in under 2 hours, and because we had no real application in mind when doing it, we haven't tested it thoroughly. However, we're willing to try and answer any questions you send our way.
Cool Calculator is a product from the Pie Right software family offered by abc Systems of Bridgeport, CT. Any questions call Des Nolan (203) 373-1021.
EEV10.ZIP
=========
Expression Evaluator Toolkit V1.00 Revision 0
These files provide you with a complete API for 2 mathematical
expression evaluators. One is written to evaluate infix (algebraic)
expressions. The other is written to evaluate postfix (RPN)
expressions.
INFIX.PAS is based upon a program called CALC.PAS by James L. Dean of
New Orleans, LA. His program, dated 1985, provided the complete
recursive descent infix expression evaluator. CALC.PAS was downloaded
from CIS and had no copyright notice of any kind. Because of the lack
of any copyright, I assume that I can write a derivitive work. I added
the variables support and organized the code for use with TP5 or higher.
His name, address, and original comments (very few) have been competely
preserved in the source and my documentation file.