Version 4.0

Improvements in the language:

The objects (TStringList, TRealList, TPointList and TRMatrix) now have their own functions and procedures, and many of those functions and procedures called objects, are now integrated in the object:

so if SL is a TStringList type, before there was to add a string the procedure SLAdd, and was:

SLAdd (SL, 'A string')

now no longer exists SLAdd, and instead there is the procedure Add integrated in the TStringList, thus the result is:

SL.Add ('A string')

but there is a procedure with the same name to add numbers to a TRealList, so for an object RL, like this:

RL.Add (12)


RL.Add ('A string')

produce an error message.

Renaming list:

For lists:

LClear -> Clear 
LCount -> Count
SLAdd / RLAdd / PLAddP -> Add
SLAddStrings / RLAddNums / PLAddPoints -> AddItems
SLIndexOf / RLIndexOf -> IndexOf
SLGetItem / RLGetItem / PLGetItem -> GetItem
SLSetItem / RLSetItem -> SetItem

For lists and TRMatrix:

LLoadedFFile / RMLoadedFFile -> LoadedFFile
LSavedToFile / RMSavedToFile -> SavedToFile
LPasteFromClb / RMPasteFromClb -> PasteFromClb
LCopyToClb / RMCopyToClb -> CopyToClb
SLSort / RLSort / RMSort -> Sort
RLMean / RMMean -> Mean
RLSum / RMSum -> Sum
RLStdDev / RMSD -> StdDev

For TRList and TRMatrix:

RLDistrShape / RMDistrShape -> DistrShape
RLMean / RMMean -> Mean
RLSum / RMSum -> Sum
RLStdDev / RMSD -> StdDev
RLVMin / RMMin -> VMin
RLVMax / RMMax -> VMax

For TStringList:

InputSL -> Input
SLLoadFNFDir -> LoadFNFDir

For TRList:

RLPercentile -> Percentile

For TPointList

PLAddXY -> AddXY
PLLimits -> Limits
PLCenter -> Center
PLFlip -> Flip
PLMoveAD -> MoveAD
PLMoveV -> MoveV
PLRotate -> Rotate
PLScale -> Scale
PLPolygon -> Polygon
PLPolyJump -> PolyJump
PLPentagon -> Pentagon
PLHexagon -> Hexagon
PLOctagon -> Octagon

For TRMatrix:

RMEdit -> Edit
InputRM -> InputAny
InputRCRM -> InputWRowCol
InputSRM -> InputSquareAny
InputSSRM -> InputSquareSize
RMDelEmptyR -> DelEmptyR
RMFromRCStr -> FromRCStr
RMCopy -> Copy
RMRows -> Rows
RMCols -> Cols
RMGetVal -> GetVal
RMGMean -> GMean
RMGSD -> GStdDev
RMGDistrShape -> GDistrShape
RMPercWhole -> PercWhole
RMPercByC -> PercByC
RMKhi2OO -> Khi2OO
RMKhi2TO -> Khi2TO
RMAnMeanPV -> AnMeanPV

It has been extended the use of composed variables (record, in Pascal syntax), variables that were previously isolated, thus:

TextHGap -> TextGap.H
TextVGap -> TextGap.V
TextHPos -> TextPos.H
TextVPos -> TextPos.V

They have separated the font of the message and input of then drawing font, like this:

Font -> Font / DFont
Font -> Font.SetVals / DFont.SetVals
FontName -> Font.Name / DFont.Name
FontSize -> Font.Size / DFont.Size
FontColor -> Font.Color/ DFontFill.Color

Other functions/procedures

RNumCopyMode has become NFormat.Decim, but affecting to all conversions from real number to a string, if it is used. Also, it has been added: NFormat.Thous.

Added: DateFormat.

KeyPressed was renamed to CharTyped. There is a new and different KeyPressed.

Improvements in analytic geometry

AngleFromPP returns the angle as the last parameter and a Boolean value.

Added: NormalAngle, ISectPPPolyL, ISect2PolyL.

Improvements in the drawing

Incorporation Agg2D.pas library (Anti-Grain Geometry for Object Pascal), mainly due to:

Ability to draw thick lines with non-integer values.

Ability to draw straight lines with patterns (for example, dotted line) that previously only possible for lines of one pixel of width.

The point color is now an independent variable of the line color. At point was added (or not: False by default) the Fill property for the points of the circle, rectangle, square, rhombus and triangles; then: ptsCircle1 and ptsCircle2 -> ptsCircle.

It has been added triangle and pie slice.

It has been renamed some of the following:

EllipseXY -> Ellipse2PXY
EllipseP -> Ellipse2PP
ArcXY -> Arc4PXY
ArcP -> Arc4PP

due to the incorporation of procedures:

Variables have been renamed:

For text:

Creating new commands for drawing text:

Viewing the appearance of the default drawing options, adding the ability to save the point options.


Added the commands:

For people who are blind and in the program editor: the ability to assign breakpoints by clicking on the left side of the bar line numbers.

When reloading a program or a calculation again the main window is not resized.

Bugs fixed:

Installation for Windows 7, now the configuration files and examples are placed in C:/Users/../AppData\Roaming\ATCalc.

It loads the last saved program correctly, and also the message to save the modified program, when you close the program now works correctly. It saved correctly the number of decimal places for the programs.

Updating the list of functions (and others), without need to restart the program.

Error in the interpretation of the predesigned constants when the program has more than 255 lines.

Results of the mean.


Assigning the background color of the drawing from the Common Options page.

It saves (and retrieves) the step size of the secondary axes. Recovery error for the subtitle.

Appearance of points (others than simple and circle) in coordinates mode when the size coordinates x and y do not coincide.


Code rebuild.


New function: CubRt.

Changes in the variables assignment grid.

Automatic assignment of the hotkeys (Alt-character) for the labeled controls.

Improvement for the drawing helps.

Added for people that use screen readers of the use of increment for the displayed variables.

Fix bugs in function presentation with logarithmic scale and legend drawing.


The variables, constants, functions and procedures created by the user can contain any letter (for example, with accents).

Added shortcut to the feature requests for the program. Fixed some errors.


Two sizes in the image of the checkboxes and radio buttons (according to the font size).

Added shortcut to the bug report. Resolved an error.

Versions to

Better adaptation for blind people. Some bugs are fixed.

Version 3.1.9

Adaptation for blind people which use screen readers.

Modality of the visualization of the functions, procedures and constant in grids.

More speed when starting the program and the functions, procedures and constant are displayed in one of the two modalities (buttons and grid).

The function result type is shown in the helps.

Independence between calculation/formula and programming environment modules.

Version 3.1.8

For people with vision disturbance or demonstrations:

Added: Break.

Resolved some display bugs of the InputXX functions.


The medical package is distributed separately.

ATCalc allows to pass parameters in the command line.

Version 3.1.7

The display proc. (DialogText..) and some input func. InputBool, InputText, InputTextW e InputIntFL, allow to present htm/html files with direct reading and navigation in addition to the image and text files.

New variables/functions/procedures:

Constants have been added for the variables: BrushStyle, PenStyle, ShapeStyle, PointSymbol, TextPosH, TextPosV, ExpImgFile and ExpImgClb, making their input easier.

Writing of the blocks orders is easier.

The comments/explanations of the formulas or programs allow the display (in addition to the short text) of files (with the order ): directly (of image, txt and htm/html) or indirectly (in order to open the file with the convenient program).

Publication of the source code according to the GPL (General Public License) of GNU ( - FSF (Free Software Foundation), at


English version has been full revised.

Version 3.1.6

New functions/procedures:

The next procedures become variables: SaveInputPos, FontName, FontSize, FontColor, PenColor, PenStyle, PenWidth, BrushColor, BrushStyle, ShapeStyle, PointSymbol, PointSize, TextPosH, TextPosV, TextGapH, TextGapV, TextGapMode. E.g.: FontSize (12) -> FontSize := 12, thus are valid if (FontSize > 18) or WriteTextLn (FontSize).

In the display proc. (DialogText..) and the input func. (Input...) you can change the font.

The display proc. (DialogText..) and some input func. InputBool, InputText, InputTextW e InputIntFL, allow to present image and text files: possibility to make presentations.

InputIntFL: also allows to use a TStringList as an items lists, and it can return a number different to that corresponding to the order.

On several input func. if you enter more than one line for the label text, all except the last line will form an explanatory label before the input component.

Version 3.1.5

The buttons of non usable functions/procedures are disabled (and the pages are hidden) in the non-programming mode. Independent directory with formularies, programs and constants.

Solved a helps visualization bug, and some others.

Greater adaptation to the programming syntax in pascal:

If P is a point, you can access X and Y with: P.X and P.Y, thus XToP, YToP, XFromP and YFromP have been eliminated.

New functions/procedures:

You may insert comments anywhere between { and }.

The panel inputs will be checked if they have assigned values before carrying out a calculation or executing a program, unless you indicate the opposite. In this last case, you will be able to know if this input has not been assigned, with the new function: VarIsEmpty. The panel now admits inputs with a drop-down list.

Integral calculation (trapezoide rule).

Non limitation of the decimals number, when Decim., of the main window, is -1.

Order of interruption of a program's execution.

Determination (previous to the drawing of functions) of the Y interval, according to the X interval of the function to be represented.

Formula.ftxt -> Calculations.ftxt + Programs.ftxt.

Version 3.1

Greater adaptation to the programming syntax in pascal:

Use of different font in the programming mode, for to distinguish visually among key programming words, numbers, text and comments. Exporting of this code to htm and rtf.

New functions: FormDialogText, now with three variants, functions to facilitate the values input for variables (InputBool, InputText, InputInt, InputReal, with variants, InputCpx, InputFileNO, InputFileNS, InputEDate, InputADate, InputTime, InputDrwP), Inc, Dec, Ord.

New constants: LineBreak and TabChar (tabulation character) and the new function RealToTextD (real number to text with a defined number of decimals). Then the writing functions that use line break and tabulators (WrXXX) are eliminated. They are only WriteText and WriteTextLn, that now allow any variable or constant as parameter, convert it automatically in text.

Possibility to define in place of the variables input with real value (in the corresponding panel of the main window): variables of integer numbers, text and boolean.

It improves in the the program debugging:

Version 3.0

Programming possibility (sequential execution, or not: according to some conditions, of several lines with formulas or execution indications).

To the variables they can be assigned a title that will be shown in the variable input. Validation values can also be added for the same ones and confirmation of assignment of values. You increases up to 8 possible.

Selection of the visualization of the drop-down of the function inputs by groups.

A buttons panel is added with the functions and constant that one believes more useful.

Arithmetic functions are added (Ceil and Floor: new rounding of real numbers; Odd; RandomR: random among numbers; ToRange to assure that a variable is inside a margin); LastCipher: last figure of a number; and trigonometrical (Hypot: hypotenuse; cotangent, blotter and cosecant with all their related ones).

Equations can be represented, as well as to draw with the programming described different forms (lines, points, rectangles, ellipses, etc.) and even text. The obtained graphics can be exported directly in files BMP, PNG, JPG, EMF and SVG.

In the temporary calculator they can be chosen the entrance type for the dates: exact or approximate.

Possibility of change of the types of characters, being able to increase the measure for people with difficulty of vision, or to carry out a demonstration.

Use of the standard icons of programs of open code (Open Office, Gimp, etc).

New change of name from SCalc to ATCalc.

IMPORTANT: Those that have the previous version, must rename the files of the of the calculations lists, as Formula.txt, to Formula.ftxt; then the program will upgrade them automatically. The extension of the constant file, also txt, you must rename to cttx.

Version 2.0 (Catalan and Spanish)


Se añaden muchas funciones estadísticas, un plafón para visualizar las variables y resultados obtenidos, posibilitado tener más de una lista de fórmulas, posibilidad de utilizar constantes de resultado, resolución de un problema de visualización de las listas y anotación de errores críticos (que no se tendrían que producir) a un archivo log. Ver el resultado redondeado en hexadecimal, binario y cifras romanas y obtener a partir del valor hexadecimal o de la cifra romana el correspondiente valor decimal. Obtención de los porcentajes y recuentos por una serie de variables cualitativas.

Introducción de la calculadora temporal.

Cambio de nombre del programa que cambia de CalcMath a SCalc.

Version 1.2 (Catalan)

Nueva ventana de selección de fórmulas, con buscador.