Arithmetic functions


function Trunc(X: Extended):Integer

The Trunc function truncates a float-type value to an integer-type value. X is a float-type expression. Trunc returns an Integer value that is the value of X rounded toward zero.


function Round(X: Extended): Integer

The Round function rounds a float-type value to an integer-type value. X is a float-type expression. Round returns a Longint value that is the value of X rounded to the nearest whole number. If X is exactly halfway between two whole numbers, the result is the number with the greatest absolute magnitude.


function Abs(X): Float

The Abs function returns the absolute value of the argument. X is an integer-type or float-type expression.


function ArcTan(X: Float): Float

ArcTan calculates the arctangent of the given number. Calculate other trigonometric functions using Sin, Cos, and ArcTan in the following expressions
Tan(x) = Sin(x) / Cos(x)
ArcSin(x) = ArcTan (x/sqrt (1-sqr (x)))
ArcCos(x) = ArcTan (sqrt (1-sqr (x)) /x)


function Cos(X: Float): Float

The Cos function returns the cosine of the angle X, in radians.


function Exp(X: Float): Float

Exp returns the value of e raised to the power of X, where e is the base of the natural logarithms.


function Frac(X: Float): Float

The Frac function returns the fractional part of the argument X. X is a float-type expression. The result is the fractional part of X; that is: Frac(X) = X - Int(X).


function Int(X: Float): Float

X is a float-type expression. The result is the integer part of X; that is, X rounded toward zero.


function Ln(X: Float): Float

The Ln function returns the natural logarithm (Ln(e) = 1) of the float-type expression X.


function Pi: Float

Use Pi in mathematical calculations that require pi, the ratio of a circle's circumference to its diameter. Pi is approximated as 3.1415926535897932385.


function Sin(X: Float): Float

The Sin function returns the sine of the argument. X is a float-type expression. Sin returns the sine of the angle X in radians.


function Sqr(X: Float): Float

The Sqr function returns the square of the argument. X is a floating-point expression. The result, of the same type as X, is the square of X, or X*X.


function Sqrt(X: Float): Float

X is a floating-point expression. The result is the square root of X.


function Power(Base, Exponent: Float): Float

The Power function raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0.

String Functions


function Upper(S: string): string

The Upper function returns a string containing the same text as S, but with all 7-bit ASCII characters between 'a' and 'z' converted to uppercase.


function Lower(S: string): string

Lower returns a string with the same text as the string passed in S, but with all letters converted to lowercase. The conversion affects only 7-bit ASCII characters between 'A' and 'Z'.


function Copy(S: string; Index; Count: Integer): string

The Copy function returns a substring of a string. S is a string-type expression. Index and Count are integer-type expressions. Copy returns a string containing Count characters starting at S[Index]. If Index is larger than the length of S, Copy returns an empty string. If Count specifies more characters than are available, the only the characters from S[Index] to the end of S are returned.


function Pos(Substr: string; S: string): Integer

Pos searches for a substring, Substr, in a string, S. Substr and S are string-type expressions. Pos searches for Substr within S and returns an integer value that is the index of the first character of Substr within S. Pos ignores case-insensitive matches. If Substr is not found, Pos returns zero.


function Length(S: string): Integer

The Length function returns the number of characters actually used in the string S.


function Trim(S: string): string

Deletes spaces at the beginning and end of the passed string as a parameter.  


function Replace(S; OldPattern; NewPattern: string; Flags: integer): string

Replaces a substring (Oldpattern) with a string (NewPattern) inside the passed string (S).

The parameter can take the following values:

0: Replaces only the first occurrence of OldPattern with NewPattern(Case Sensitive)

1: Replaces all the occurrences of OldPattern with NewPattern (Case Sensitive)  

2: Replaces only the first occurrence of OldPattern with NewPattern (Case Insensitive)

3: Replaces all the occurrences of OldPattern with NewPattern (Case Insensitive)  


function PadL(S: string; Length: integer; C: Char): string

Add many characters C at the beginning of string S until it reaches the length specified in the parameter Length.


function PadR(S: string; Length: integer; C: Char): string

Add many characters C at the end of string S until it reaches the lenght specified in the parameter Length.


function If(Condition: Boolean; TrueResult; FalseResult): ResultType

Condition is a Boolean expression. When the function is evaluated, it returns TrueResult if Condition else FalseResult. TrueResult and FalseResult need not be of the same type and result type of the IF expression may change depending on Condition.


Format functions


function FormatDateTime (FormatString; DateTime: string): string

Format the date DateTime as specified by the format in the FormatString.


c        Displays the date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the date-time value indicates midnight precisely.

d        Displays the day as a number without a leading zero (1-31).

dd        Displays the day as a number with a leading zero (01-31).

ddd        Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable.

dddd        Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable.

ddddd        Displays the date using the format given by the ShortDateFormat global variable.

dddddd        Displays the date using the format given by the LongDateFormat global variable.

e        Displays the year in the current period/era as a number without a leading zero

(Japanese, Korean and Taiwanese locales only).

ee        Displays the year in the current period/era as a number with a leading zero (Japanese, Korean and Taiwanese locales only).

g        Displays the period/era as an abbreviation (Japanese and Taiwanese locales only).

gg        Displays the period/era as a full name. (Japanese and Taiwanese locales only).

m        Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier,

the minute rather than the month is displayed.

mm        Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier,

the minute rather than the month is displayed.

mmm        Displays the month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable.

mmmm        Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable.

yy        Displays the year as a two-digit number (00-99).

yyyy        Displays the year as a four-digit number (0000-9999).

h        Displays the hour without a leading zero (0-23).

hh        Displays the hour with a leading zero (00-23).

n        Displays the minute without a leading zero (0-59).

nn        Displays the minute with a leading zero (00-59).

s        Displays the second without a leading zero (0-59).

ss        Displays the second with a leading zero (00-59).

z        Displays the millisecond without a leading zero (0-999).

zzz        Displays the millisecond with a leading zero (000-999).

t        Displays the time using the format given by the ShortTimeFormat global variable.

tt        Displays the time using the format given by the LongTimeFormat global variable.

am/pm        Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.

a/p        Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.

ampm        Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon.

/        Displays the date separator character given by the DateSeparator global variable.

:        Displays the time separator character given by the TimeSeparator global variable.

'xx'/"xx"        Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting.




function FormatFloat(const Format: string; Value: Extended): string;

FormatFloat formats the floating-point value given by Value using the format string given by Format. The following format specifiers are supported in the format string:


Specifier        Represents

0                Digit place holder. If the value being formatted has a digit in the position where the '0' appears in the format string, then that digit is copied to the output string. Otherwise, a '0' is stored in that position in the output string.

#                Digit placeholder. If the value being formatted has a digit in the position where the '#' appears in the format string, then that digit is copied to the output string. Otherwise, nothing is stored in that position in the output string.

.                Decimal point. The first '.' character in the format string determines the location of the decimal separator in the formatted value; any additional '.' characters are ignored. The actual character used as a the decimal separator in the output string is determined by the DecimalSeparator global variable. The default value of DecimalSeparator is specified in the Number Format of the International section in the Windows Control Panel.

,                Thousand separator. If the format string contains one or more ',' characters, the output will have thousand separators inserted between each group of three digits to the left of the decimal point. The placement and number of ',' characters in the format string does not affect the output, except to indicate that thousand separators are wanted. The actual character used as a the thousand separator in the output is determined by the ThousandSeparator global variable. The default value of ThousandSeparator is specified in the Number Format of the International section in the Windows Control Panel.

E+                Scientific notation. If any of the strings 'E+', 'E-', 'e+', or 'e-' are contained in the format string, the number is formatted using scientific notation. A group of up to four '0' characters can immediately follow the 'E+', 'E-', 'e+', or 'e-' to determine the minimum number of digits in the exponent. The 'E+' and 'e+' formats cause a plus sign to be output for positive exponents and a minus sign to be output for negative exponents. The 'E-' and 'e-' formats output a sign character only for negative exponents.

'xx'/"xx"        Characters enclosed in single or double quotes are output as-is, and do not affect formatting.

;                Separates sections for positive, negative, and zero numbers in the format string.


The locations of the leftmost '0' before the decimal point in the format string and the rightmost '0' after the decimal point in the format string determine the range of digits that are always present in the output string.

The number being formatted is always rounded to as many decimal places as there are digit placeholders ('0' or '#') to the right of the decimal point. If the format string contains no decimal point, the value being formatted is rounded to the nearest whole number.


If the number being formatted has more digits to the left of the decimal separator than there are digit placeholders to the left of the '.' character in the format string, the extra digits are output before the first digit placeholder.

To allow different formats for positive, negative, and zero values, the format string can contain between one and three sections separated by semicolons.


  • One section: The format string applies to all values.
  • Two sections: The first section applies to positive values and zeros, and the second section applies to negative values.
  • Three sections: The first section applies to positive values, the second applies to negative values, and the third applies to zeros.


If the section for negative values or the section for zero values is empty, that is if there is nothing between the semicolons that delimit the section, the section for positive values is used instead.


If the section for positive values is empty, or if the entire format string is empty, the value is formatted using general floating-point formatting with 15 significant digits, corresponding to a call to FloatToStrF with the ffGeneral format. General floating-point formatting is also used if the value has more than 18 digits to the left of the decimal point and the format string does not specify scientific notation.



Reserved Words


[NOW]

Contains the current date and time

[DATE]

Contains the current date

[TIME]

Contains the current timeì

[TERMCODE]

Contains the terminal code (field Identifier in the Plant Editor)

[TERMADDRESS]

Contains IP of terminal (address del Plant Editor)

[TERMSTARTSTATE]

Contains the code of first starting state associated with terminal  

[MESSAGE]

Contains the incoming message from terminal

[COMPANY]

Contains code company

[TPROPAGEEND]

Contains return code for graphical terminal design.

[LASTSTATEBEFOREHM]

Contains last state executed before the last hot message

[TERMMODEL]

Contains code model of terminal

[TERMCOUNT]

Contains the number of terminal configurated in plant editor

[NETBOXADDRESS]

Contains IP address of netbox (address del plant editor)

[PLANTMAP]

Contains list of identifier of all terminals

[LASTINPUTSTATE]

Contains last state on which an operator input was requested

[CONNECTIONSTRING]

Contains the connection string to the database


In the function SELECT the parameter WHERE may contain the string [MESSAGE] that will be replaced by the message coming from the terminal.


Formato per funzione chkformat


?

One character

*

Any number of characters

$

One letter

#

One numeric character

%

Any number of numeric characters

A..Z, a..z, 0..9

The Specified character



N.B.


[MESSAGE] viene trattato come un numerico

‘[MESSAGE]’ viene trattato come stringa.

Lo stesso vale per le altre variabili di sistema.Se in una variabile scrivo CHAR(XXX) sostituisce alla stringa il carattere ASCII corrispondente.

Created with the Personal Edition of HelpNDoc: Create cross-platform Qt Help files