At this moment I am working in the next
version of the program. In the meantime if a bug is found in the current version
then an update will be announced here. So check regularly for updates.
- ctrTAB control added. Is used in place of ctrTABPAGE control in
cases where every tab page contains the same controls. Is easier to handle
and setup and less resource intensive.
- + and += operator are now used exclusively for numeric
- Bug fixes.
- elseif added to if control statement.
- Find&Replace ability added to the code editor.
- Up to 9 bookmarks can be set in a code to easy navigate through it,
especially when is big.
- In "Create Application File" (that is an exe) form is now possible to
set a specific character set for the resulting file.
- Some rearrangement of Windows wrapper libraries. Some of them merged
under one Class, named CWin.
- Some bug fixes.
- FieldDel command added. Deletes a number o fields from a
- Bug fixes.
- Delete and Insert commands can now use negative numbers in
character position parameter. Negative numbers position in a string in the
reverse order. -1 points the last character in the string. The same with
character access syntax. For example a[-1] accesses for read and
write the last character in a string. The same when this syntax is applied
in delimited text syntax: a#(1,' ')[-1].
- Bug fixes.
- Debugger window is improved. Also you can select text, copy and paste to
- MERGE command added. Returns a sorted
array from two other sorted arrays, using the fastest and less recourse
- EXEPATH added. Returns the directory
path of CalcIt executables.
- Negative indexes, in delimited text syntax, now work the same way as array indexes. Index -1 points
to the last delimited part in a delimited value.
- Minor bug fixes.
- Because of the additions of the previous version, those with array
extensions, there is a need for some things to change at syntax level
even if this breaks existing code.
Now delimited text syntax starts with the symbol #. For example
a#(4) accesses the fourth delimited text part of a using the
default delimiter. Now the direct use of parentheses
(with an index enclosed) means always array access, which is more
consistent. For example a(4), where a is a simple
variable, means the fourth array element if a was extended to contain
an array. Symbol # is not any more used to
denote the last array element. It is reserved for delimited text syntax, as
said before. Now a negative array index is
permitted and accesses the array in its reverse order. If ar is an
array variable ar(-1) accesses the last element, and so on. As regards
the previous version (10.2) symbol @ is used now only as a prefix to
denote that the simple variable, array element or field, following it, has to
be handled like an array (as a whole). Symbol @ is not used any more as
a suffix to access individual array elements in array extensions. With these
necessary syntax changes is avoided the confusion between array element syntax
and delimited text syntax and is enhanced syntax simplicity and consistency.
- REVERSE command added. Returns an array with the reverse order of
elements of the one passed to this command.
- Syntax Check button added for Applications and Scratchpad
- Because of problems especially with wireless keyboards (like mine) the
group selection in Form Designer is changed a bit. Now there is a check box
that enters in "group mode". After the selection of controls in the group the
user has to uncheck the checkbox.
- DelDir, MemFill, PrintBuf commands added.
- Shorter and simpler syntax for arrays added. Now, for variables that
already are declared as arrays, the assignment operator can be used. e.g.
a:=Any array expression,
set a=Any array expression.
- Now every normal variable, array element or field can be extended to
contain an array. Symbol @ is used to inform the compiler for this
extension (as the dot symbol is used to create multi-field values). To access
array elements the @ is used as a suffix. e.g
When the variable has to participate in array expressions or to receive the
contents of an array expression etc, symbol @ is used as a suffix. e.g
@a is used the same way as any array variable. This new feature permits
to create arrays with elements that contain arrays or elements that contain
fields, some of them containing arrays. This way very complex data structures
can be created in any combination or hierarchy. PrintArr command can print
and XWrite/XRead can save and restore such data. Since a normal
variable can contain an array, functions can return arrays or complex data
hierarchies containing arrays and fields in any combination.
- Now when copying multi-field variables or arrays from one variable to
another, or passing (by value) parameters in functions, the data is not really
copied. It is copied only a reference to the data, which is a very fast
operation. So at any point many variables can point to the same data. When one
of these variables tries to modify the data only then a copy takes place. This
makes the handling of multi-field values and arrays much faster.
- arr command added for array expressions. arr returns an
array with a specific number of array elements. e.g
This is equivalent to
- PrintArr changed a bit as regards the formatting optional parameter.
- XRead doesn't use any more Microsoft XML parser to read files. It
is used a specially written parser code which is very fast and uses a minimum
of system resources. Now the text file generated by XWrite is not in
UTF8 format but ANSI.
- Bug fixes.