Home

Buy Now

Products
  InaAuthenticate
  InaAuthenticate.Net
  InaCalcStd (Free)
  InaCalcPro
  InaCalc.Net
  InaCardCheck
  InaCardCheck.Net
  InaClock
  InaClockCtrl
  InaClockCtrl.Net
  InaCryptCompress.Net
  InaEmailCheck
  InaEmailCheck.Net
  InaEmailSend
  InaFileConverter
  InaGrid
  InaSysTray
  InaUploadFile
  InaXplorer

  XComp (Free)

Support

About

Press Releases
   .Net
   InaAuthenticate
   InaCalc
   InaCardCheck
   InaClock
   InaEmailCheck
   InaEmailSend
   InaGrid
   InaUploadFile

ComponentSource Professional Partner

InaCalc.Net Frequently Asked Questions (FAQ)


How do I contact Inabyte Inc.?
What’s in the evaluation version?
What does the control do?
What functions are supported and how do I use them?
Can I make my own user defined/custom functions?
What kind of licensing agreement do I need to distribute the control?
What kind of licensing agreement do I need to run the control on a server?

What’s in the evaluation version?

The evaluation version is a full version of the product that expires 30 days after installation.

(Back to top)

What does the control do?

The component integrates expression parsing, evaluating, and dependent formula recalculation. It is useful in two general areas: first, when a formula has to be defined and evaluated at runtime (for example, if the end user is allowed to enter a formula that will be evaluated and used); second, when a set of formulas that depend on each other are defined, configured, and evaluated at run-time. 

The component supports conventional math operators and functions and is suitable for heavy-duty number crunching. It also supports other data types, such as string, date-time, logical, and operators and functions for these data types. It allows defining variables and sets of related formulas that implement spreadsheet-like recalculations. The various ways data flow, the custom function support, and the different modes of work give power and flexibility.

What functions are supported and how do I use them?

Built-in functions are managed by InaCalcFuncs interface, supporting the enumeration of the whole set of built-in functions. Each individual function is managed by the InaCalcFunc interface, which supplies its name, category, format and brief description.

The InaCalc Professional edition offers the ability for user defined functions to be parsed and evaluated in formulas. To do this, first the function must be registered in an InaCalcFuncs object by calling its Add method. For example, Add (“MyFunc”). It is also possible to specify the category, format and description string for this function by stating these values in an Add method call. For example, Add (“MyFunc”, inaFuncCustom, ”MyFunc(value1, value2)”,”User Defined Function”). This will make the function appear in the correct place and with the correct helpers in the Formula Builder Dialog. Note that the format string does not specify the format of function arguments – it is only used as a helper template when this function is inserted in the Formula Builder Dialog. After a custom function is registered, it can be used anywhere in formulas like all other built-in functions.

The built-in functions are listed bellow grouped by category:

Mathematical and Trigonometric Functions
ABS
ACOS
ACOSH
ASIN
ASINH
ATAN
ATAN2
ATANH
COMBIN
COS
COSH
ACOSH
DEGREES
EXP
FACT
FACTDOUBLE
GCD
INT
LCM
LN
LOG
MOD
MULTINOMIAL
PI
PRODUCT
QUOTIENT
RADIANS
RAND
ROUND
SIGN
SIN
SINH
SQR
SQRT
SQRTPI
SUM
TAN
TANH

String Functions
BINFORMAT
CHAR
CLEAN
CODE
COMPARE
CONCAT
DATEFORMAT
DOLLAR
FIXED
FRACT
HEXFORMAT
LEFT
LEN
LOWER
MID
OCTFORMAT
PROPER
REPLACE
REPT
RIGHT
ROMAN
SEARCH
SUBSTITUTE
TRIM
UPPER

Date & Time Functions
DATETIME
DAY
DAYS360
EDATE
EOMONTH
HOUR
MINUTE
MONTH
NETWORKDAYS
NOW
SECOND
TODAY
WEEKDAY
WORKDAY
YEAR
YEARFRAC

Logical and Conversion Functions
BIN
CHOOSE
DATE
EMPTY
ERROR
FIND
HEX
IF
ISDATE
ISEMPTY
ISERROR
ISLOGICAL
ISNUMBER
ISTEXT
LOGICAL
MAX
MIN
NUMBER
OCT
TEXT

Financial Functions
ACCRINTM
COMPOUND
COUPDAYS
COUPDAYSBS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
DB
DISC
DOLLARDE
EFFECT
FV
INTRATE
IRR
MIRR
NOMINAL
NPV
PMT
PRICE
PRICEDISC
PRICEMAT
PV
RECEIVED
SYD
TBILLEQ
TBILLPRICE
TBILLYEILD
YIELD

Statistical Functions
AVEDEV
AVG
BINOMDIST
DEVSQ
EXPONDIST
FISHER
FISHERINV
GEOMEAN
HARMEAN
HYPGEOMDIST
KURT
LOGNORMDIST
NEGBINOMDIST
NORMDIST
NORMSDIST
NORMSINV
PERMUT
POISSON
SKEW
STANDARDIZE
STDEV
STDEVP
VAR
VARP
WEIBULL

(Back to top)

Can I make my own user defined/custom functions?

Custom functions are evaluated using a number of events and methods of the InaCalc component. When a custom function is to be evaluated, InaCalc fires the event EvalCustomFunction (strFunction, argValues, vntValue). strFunction contains the name of the custom function. argValues is an array of the function argument values vntValue is a variant variable passed by reference where the result of function evaluation will be placed. In the above example, if MyFunc sums its two parameters, the implementation of EvalCustomFunction handler will look like this:

Sub OnEvalCustomFunction (strName, argVals, vntValue)
    If “MyFunc” = strName Then
        vntValue = argVals(1) + argVals(2)
    End If
End Sub

If EvalCustomFunction event is not handled or if no value is supplied as a result of function evaluation, the result is an empty value.

There is another event related to custom functions called CheckCustomFunction. It is fired after the formula is parsed and before it is evaluated. This is the place where some preliminary checks can be performed, for example the proper count of arguments, the proper argument types and etc. The parameters of CheckCustomFunction are similar to the EvalCustomFunction parameters. The event handler receives the name of the function, an array of function argument types, and a value type variable passed by reference where the result value type of function evaluation will be placed. If this event is not handled, InaCalc assumes that the function arguments are correct and the function returns an empty value.

(Back to top)

What kind of licensing agreement do I need to distribute the  control?

You are required to purchase a license in order to distribute applications that contain one or more InaCalc.Net controls. Without this license, the InaCalc.Net control is considered under evaluation.

If you are writing web applications then additional server licenses would also be required. See below.

(Back to top)

What kind of licensing agreement do I need to run the control on a server?

You are required to purchase a license in order to run InaCalc.Net on a server. Without this license, the InaCalc.Net control is considered under evaluation. One license per server is required.

A developer is a license that everyone pays regardless of subsequent deployment. A 3 man team means 3 licenses. If the product is subsequently deployed on a Server Node/PC for Client Server or on a Web Server Node/PC you need to buy a license per node. A 10 node web site with the component on 6 of the nodes requires 6 licenses to be purchased.

(Back to top)

How do I contact Inabyte Inc.?

By Phone   415-898-7905
By Fax   415-898-1652
By Email   support@inabyte.com
   info@inabyte.com
By Internet   http://www.inabyte.com/support.html
   http://www.inabyte.com
By US Mail   Inabyte Inc.
   PO Box 728
   Novato CA 94948-0728
   USA

(Back to top)

Samples Provided

See what InaCalc.Net can do for you. Download  InaCalc.Net and its samples (VB and C#) and see it’s capabilities


Home Products Support About Press Releases

Copyright © 1996 - 2005 by Inabyte Inc., Novato, California, USA
Last modified: Tuesday, May 20, 2003 09:04

Inabyte Inc.
5 Betty Lane
Novato CA 94947
Phone: +1 415 898 7905
Fax: +1 415 898 1652