MemCalc

MemCalc is a simple program that employs a dynamic computational engine to perform complex mathematical operations.

The MemCalc Window

MemCalc has two main sections. The Computing section occupies the top half of the MemCalc window. Top right is Help button that displays this document. Below Help is a Compute button. To the right of the Compute button is a Results box. Below the Results box is the Equation entry box.

The Memory section consists of two rows of six boxes each. These boxes are used to store information that can be used in an formula.

How MemCalc Works

The user types a formula or equation into the Equation box and clicks the Compute button. The Equation box content is then sent to the computing engine and the answer is sent to the Results box.

There are twelve user memories provided that can be used within formulas. Double-clicking a memory box gets the contents of the Results box into the selected memory box The 12 memories referenced as mem1 through mem12 in formulas. Result values are copied to system clipboard.

The MemCalc compute function has the syntax: Expression;[FormatString].

  • Where: Expression can be a formula of any length and complexity with nesting to almost any depth.
  • Where: Decimal values such .98, .007 etc. MUST have a leading units zero as in: 0.98, 0.007 or 0mem1, 0mem2.
  • Where: FormatString must have at least 1 # symbol in it.
  • Where: To view trailing zeros in formatted strings, use #.#0 to display 3.80 , forces a trailing zero to show .

    Example: the equation line: 1 + 2 ;$##0.#0 displays $3.00
    Example formula: (1 + mem1) /2 + mem2 + (mem4 * 16)
    Example formula: (mem1 * mem2) - ((mem1 * mem2) * mem3)

    Actual compute line: (mem6 * mem1) - ((mem6 * mem1) * 0mem4) - ((mem6 * mem1) * 0mem5)
    Actual DB names: (sellprice * no) - ((sellprice * no) * 0tax) - ((sellprice * no) * 0discount)
    Actual values: (4.50 * 1) - ((4.50 * 1) * 0.075) - ((4.50 * 1) * 0.08)

    Computing Function

    The computing function of MemCalc accepts takes an expression of any length and complexity. Decimal values such .98, .007 etc. MUST have a leading units zero as in: 0.98, 0.007 or 0mem1, 0mem2.

    The compute function syntax: expression;[format string].

  • Where: format string must have at least 1 # symbol in it.
  • Where: to view trailing zeros in formatted strings, use #.#0 to display 3.80 , forces a trailing zero to show

    Sample Expressions

    	Actual data: (4.50  * 1) - ((4.50  * 1) * 0.075) -  ((4.50  * 1) * 0.08)
    	Data Names: (sellprice * no) - (0tax * (sellprice * no)) -  (0discount * (sellprice * no))
    	Variables : (mem6 * mem1) - ((mem6 * mem1) * 0mem4) -  ((mem6 * mem1) * 0mem5)

    FunctionsDerivedNon Math
    ABS = Abs(Arg) ATN = Atn(Arg)
    COS = Cos(Arg)
    EXP = Exp(Arg)
    FIX = Fix(Arg)
    INT = Int(Arg)
    LOG = Log(Arg)
    RND = Rnd(Arg)
    SGN = Sgn(Arg)
    SIN = Sin(Arg)
    SQR = Sqr(Arg)
    TAN = Tan(Arg)
    SEC = 1 / Cos(Arg)
    COSEC = 1 / Sin(Arg)
    COTAN = 1 / Tan(Arg)
    ARCSIN = Atn(Arg / Sqr(-Arg * Arg + 1))
    ARCCOS = Atn(-Arg / Sqr(-Arg * Arg + 1)) + 2 * Atn(1)
    ARCSEC = Atn(Arg / Sqr(Arg * Arg - 1)) + Sgn(Arg - 1) * (2 * Atn(1))
    ARCCOSEC = Atn(Arg / Sqr(Arg * Arg - 1)) + (Sgn(Arg) - 1) * (2 * Atn(1))
    ARCCOTAN = Atn(Arg) + 2 * Atn(1)
    HSIN = (Exp(Arg) - Exp(-Arg)) / 2
    HCOS = (Exp(Arg) + Exp(-Arg)) / 2
    HTAN = (Exp(Arg) - Exp(-Arg)) / (Exp(Arg) + Exp(-Arg))
    HSEC = 2 / (Exp(Arg) + Exp(-Arg))
    HCOSEC = 2 / (Exp(Arg) - Exp(-Arg))
    HCOTAN = (Exp(Arg) + Exp(-Arg)) / (Exp(Arg) - Exp(-Arg))
    HARCSIN = Log(Arg + Sqr(Arg * Arg + 1))
    HARCCOS = Log(Arg + Sqr(Arg * Arg - 1))
    HARCTAN = Log((1 + Arg) / (1 - Arg)) / 2
    HARCSEC = Log((Sqr(-Arg * Arg + 1) + 1) / Arg)
    HARCCOSEC = Log((Sgn(Arg) * Sqr(Arg * Arg + 1) + 1) / Arg)
    HARCCOTAN = Log((Arg + 1) / (Arg - 1)) / 2
    TIMER = Timer
    YEAR = Year(Now)
    MONTH = Month(Now)
    DAY = Day(Now)
    WEEKDAY = Weekday(Now)
    HOUR = Hour(Time)
    MINUTE = Minute(Time)
    SECOND = Second(Time)
































    Copyright © 1982-2015, Phoenix Information Systems/TM all rights reserved
    Contact: Fred Pierce, makpiya@aol.com, makpiya@gmail.com, 831.240.9969