# Jeks User's guide

Features
Syntax of formulas
Jeks menus

### Features

> Jeks is a JavaTM spreadsheet application.
> As the following list of features shows, Jeks 1.0 allows particularly the edition and computation of formulas in cells of a spreadsheet :

> - Edition of formulas in cells using a rich set of operators and functions.
> - Edition of parameterized functions using expressions defined by users.
> - Checking of circular reference in formulas and optimized update of formulas referencing other cells.
> - Cut / Copy / Paste with automatic shift of cell references in formulas.
> - Internationalization of Jeks and of the syntax in formulas. Only English and French is supported at this moment.
> - Save / Open files at Jeks format (.jks files).

### Syntax of formulas

> A formula starts with the = character, isn't case sensitive and its syntax supports the following operators :

> - Unary operators : + -
> - Binary operators : ^ * / + - >= <= > < = <> (from the highest to the lowest priority).
> - Constants : TRUE FALSE
> - Functions (optional parameters are in italic) :
>   - Mathematical functions :
>     - LN (number)
>     - LOG10 (number)
>     - EXP (number)
>     - ROOT (number)
>     - COS (number)
>     - SIN (number)
>     - TAN (number)
>     - ACOS (number)
>     - ASIN (number)
>     - ATAN (number)
>     - COSH (number)
>     - SINH (number)
>     - TANH (number)
>     - INT (number)
>     - ABS (number)
>     - RAND ()
>     - MOD (number,divider)
>     - FACT (number)
>     - SUM (number1,number2,...)
>   - Logical functions :
>     - IF (test, value_if_true, value_if_false)
>     - NOT (value)
>     - AND (value1,value2,...)
>     - OR (value1,value2,...)
>     - TRUE ()
>     - FALSE ()
>   - Date and hour functions :
>     - DATE (year,month,day)
>     - DATEVALUE (date_text)
>     - NOW ()
>     - TIME (hour,minute,second)
>     - TIMEVALUE (time_text)
>     - YEAR (date)
>     - MONTH (date)
>     - DAY (date)
>     - WEEKDAY (date)
>     - HOUR (date)
>     - MINUTE (date)
>     - SECOND (date)
>   - Text functions :
>     - CHAR (unicode)
>     - FIND (found_text,text,start_index)
>     - CODE (text)

> Literal values may be any decimal, integer number or strings quoted between "". The decimal separator is a dot and the exponential symbol E (for example 12.3E2, 15.3, 0.333E-3).
> Formulas may contain spaces, tabs. The parameter separator in function calls is a coma. Some expressions may be bracketed between () to change operators priority.

> A cell is referenced with its column letter(s) followed with its row index (for example A1, AB12,...) ; the column letter or the row index may be prefixed with the $ character to avoid the shift of the column or the row of a cell reference during copy / paste operation (for example $A3, B$4, $C$1).
> A set of cells is noted with two cell references separated with the character : (for example A1:A3, B2:C5, $C4:$C8).
> A cell reference may be used anywhere in a formula (cells set can be used only in the SUM() function).

> The type of the returned value of a formula depends on the type of its parameters and the operators and functions used in the formula. Jeks manages the following types :

> - integers
> - decimals
> - strings
> - dates
> - boolean values

> Examples of formulas :

> - =SUM(A1:A5,C1:C5)
> - =12 + IF (AND (C1 > 5, C2 < 10), 5, 4)
> - =A1^2 + 2*A1*A2 + A2^2

### Jeks menus

> File | New | Creates a new spreadsheet. If the current spreadsheet was modified a dialog prompts you to accept to save changes.
> Open... | Shows a file dialog to choose a spreadsheet file and opens it in Jeks. Only files at Jeks format (.jks files) can be read at this moment. Jeks format is portable and the formulas it contains are translated to the syntax of the language in use in Jeks.
> Save | Save current spreadsheet to a file. At first saving, a file dialog prompts you to choose a file name.
> Save as... | Shows a file dialog to choose a spreadsheet file name and saves the current spreadsheet in that file. Only files at Jeks format (.jks files) can be written at this moment. This format records all the cells values and formulas, and the additional functions you may have entered.
> Quit | Quits Jeks. If the current spreadsheet was modified a dialog prompts you to accept to save changes.
> Edit | Cut | Copies the current selected cells in the copy buffer and deletes the cells.
> Copy | Copies the current selected cells in the copy buffer.
> Paste | Pastes the cells stored in the copy buffer starting at the current cell position, shifting the cells in pasted formulas if necessary.
> Delete | Deletes the current selected cells.
> ####  |
> Options | New function... | Shows a dialog that prompts you to enter a new function of the type function(parameters)=expression operating on parameters, where parameters is a list of parameters separated by comas that the expression can use. Function syntax is almost the same as the syntax of formulas : It supports the same operators and functions but doesn't allow to use cell references (use parameters instead). The IF() function is replaced by the condition operator IF THEN ELSE that allows to write recursive calls. Once accepted by Jeks compiler, a user function may be used in any cell formula or any other function. Examples of functions : f(x,y)=x^2 + 2*x*y + y^2 fact2 (n)=IF n <= 0 THEN 1 ELSE n * fact2(n-1)
> ####  |
> Help | Jeks help... | Displays the file you read.
> About... | Shows a dialog with information about Jeks.

© 1998-2001 eTeks - All rights reserved