home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 January / Chip_1999-01_cd.bin / zkuste / delphi / D1 / COOLCALC.ZIP / README.TXT < prev    next >
Text File  |  1995-09-18  |  4KB  |  74 lines

  1. COOL CALCULATOR 1.3 afd
  2. =======================
  3.  
  4. 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. 
  5.  
  6. 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.
  7.  
  8. 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.
  9.  
  10. 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.
  11.  
  12. 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.
  13.  
  14.  
  15. EEV10.ZIP
  16. =========
  17.  
  18. Expression Evaluator Toolkit V1.00 Revision 0
  19.  
  20. These files provide you with a complete API for 2 mathematical
  21. expression evaluators.  One is written to evaluate infix (algebraic)
  22. expressions.  The other is written to evaluate postfix (RPN)
  23. expressions.
  24.  
  25. INFIX.PAS is based upon a program called CALC.PAS by James L. Dean of
  26. New Orleans, LA.  His program, dated 1985, provided the complete
  27. recursive descent infix expression evaluator.  CALC.PAS was downloaded
  28. from CIS and had no copyright notice of any kind.  Because of the lack
  29. of any copyright, I assume that I can write a derivitive work. I added
  30. the variables support and organized the code for use with TP5 or higher.
  31. His name, address, and original comments (very few) have been competely
  32. preserved in the source and my documentation file.
  33.  
  34. ------------------------------------------------------------------
  35. INFIX.PAS
  36.  
  37. Note: We at abc Systems had to rename all the "result" vars in the
  38. INFIX.PAS program to get it to compile under Delphi as RESULT is 
  39. a key word in Delphi. However, we didn't have to do anything else.
  40. ------------------------------------------------------------------
  41.  
  42.     This unit uses recursive descent to evaluate expressions
  43.     written in infix notation.  The operations addition (+),
  44.     subtraction (-), multiplication (*), and division (/) are supported,
  45.     as are the functions ABS, ARCTAN, COS, EXP, LN, SQR, and SQRT.
  46.     PI returns the value for pi.  Results exceeding 1.0E37 are reported
  47.     as overflows.  Results less than 1.0E-37 are set to zero.
  48.  
  49.          Written by:
  50.  
  51.          James L. Dean
  52.          406 40th Street
  53.          New Orleans, LA 70124
  54.          February 25, 1985
  55.  
  56.          Modified by:
  57.  
  58.          David J. Firth
  59.          5665-A2 Parkville St.
  60.          Columbus, OH 43229
  61.          December 26, 1991
  62.  
  63.      This code was originally written as a stand-alone program using
  64.      standard Pascal.  In that form the program wasn't very useful.
  65.      I have taken the code and reorganized it for use with Turbo Pascal
  66.      versions 5.x or 6.0.  I have added six procedures to this code
  67.      for use as an API (application program interface).  Those six
  68.      routines are described in this file.
  69.  
  70.      In addition, I have reworked it to support variables by adding a
  71.      preprocessor.  The variables are preceded and followed by a @ symbol,
  72.      are case sensitive, and must be less than 20 characters long
  73.      (including the 2 @s). For example, the following would all be valid
  74.      variables: