---------------------------------------- Advanced Calculator v5.1 for Delphi Copyright 1999-2001 by George Barbakadze All rights reserved http://ansipars.port5.com e-mail: support@ansipars.port5.com ---------------------------------------- Compatible with Delphi4 and Delphi5. Requires the components DList v1.3 and Reader v2.02 or later versions. A fast run-time expression evaluator manipulating on 5 type of expression. 1. Features - 5 base type - Integer, Extended, Boolean, String, DateTime; - High speed; - Arithmetic operators ( +, -, *, /, Div, Mod, ^ ); - Comparison operators ( >, <, =, <>, >=, <= ) for all types; - Boolean operators (And, Or); - Multilevel If - Then - Else statement; - 47 build in functions; - Unlimited amount of On-Event evaluated functions and variables; - Unlimited amount of run-time defined functions and variables; - Compilation of text for fast repeated evaluation; - Scientific floating point notations ( 1.2e-3 ); - Full error handling; - Use of comments in a text of expression; - Multilevel calling of subexpressions in evaluated On-Events; - Saving of library of variables and functions in a file; - Initialization of variables using expressions in an one text box; - Links between variables of your programm and run-time variables; - Full help and demo. The "And" and "Or" operators can be used only for values of Boolean type, Therefore their priority less than priority of the comparison symbols. For example: expression 10>3 and 5>3 uniformly with expression (10>3) and (5>3). 2. Predefined functions Functions of Integer type: DayOfWeek, Pos, Length, Round, StrToInt. Functions of Extended and Real type: Iff, Frac, Int, Exp, Log, Ln, Sin, Cos, ArcSin, ArcCos, Sinh, Cosh, ArcSinh, ArcCosh, Tan, CoTan, ArcTan, Tanh, ArcTanh, Sqr, Sqrt, Abs, StrToFloat. Function of Boolean type: Not, IsLeapYear. Functions of String type: LowerCase, AnsiLowerCase, UpperCase, AnsiApperCase, Copy, IntToStr, FloatToStr, DateTimeToStr, TimeToStr, DateToStr, FormatDateTime. Functions of DateTime (TDateTime) type: EncodeDate, EncodeTime, IncMonth, StrToDate, StrToDateTime, StrToTime. Ranges of these functions in full likeness with the same name functions of Delphi. 3. Error codes and messages 0. No error; 1. Integer type value expected; 2. Extended type value expected; 3. Boolean type value expected; 4. String type value expected; 5. DateTime type value expected; 6. "+", "-", "*", "Div" or "Mod" expected; (for integer type) 7. "+", "-", "*", "/" or "^" expected; (for Extended and DateTime types) 8. "AND" or "OR" expected; (for boolean type) 9. "+" expected; (for string type) 10. Comparison sign expected; 11. "(" expected; 12. ")" expected; 13. "," expected; 14. Division by zero; 15. Number of parameter is out of range; 16. Variable name expected; 17. "=" expected; 18. ";" or "." expected; 19. "." expected; 20. "Then" expected; 21. "Else" expected. 4. Installation Copy the following files in your AdCalc directory 1) AdCReg.pas 2) AdCReg.dcr 3) AdCalc.pas or AdCalc.dcu 4) AdCMsg.pas This component requires installed components: Dinamic List v1.3 and Text Reader v2.02, but if You do not require this components separately, You can only copy the following additional units in your AdCalc directory: 1) DList.pas or DList.dcu; 2) Reader.pas or Reader.dcu. Then install component AdCalc - Component / Install Component / Browse / AdCReg.pas / Ok / Compile. Make sure that path of your AdCalc directory is indicated - Tools / Environment Options / Library / Library path. 5. What's new Multilevel If - Then - Else statement.