SFMT()
The SFMT()
operator
replaces place holders in a string with values.
Syntax
SFMT( str-expr , param [ , param [...] ])
- str-expr is a string expression.
- param is any valid expression used to replace parameter place holders (%n).
- At least one parameter is required.
Usage
The SFMT()
operator can be used with parameters that will be automatically
set in the string at the position defined by parameter placeholders. The parameters used with the
SFMT()
operator can be any valid expression. Numeric and date/time expressions are
evaluated to strings depending on the current format settings (DBDATE, DBFORMAT).
A placeholder is a special marker in the string, that is defined by the percent character
followed by the parameter number. For example, %4
represents the parameter
#4
. You are allowed to use the same parameter placeholder several times in the
string. If you want to use the percent sign in the string, you must escape it with
%%
.
Predefined placeholders can be used to insert information about last runtime system error that
occurred. Note that these are only available in the context of a runtime error trapped with a WHENEVER ERROR GOTO / CALL
handler:
Predefined parameter | Description |
---|---|
%(ERRORFILE) |
Name of the module where last runtime error occurred. |
%(ERRORLINE) |
Line number in the module where last runtime error occurred. |
%(ERRNO) |
Last operating system error number. |
%(STRERROR) |
Last operating system error text. |
Example
MAIN
DEFINE n INTEGER
LET n = 234
DISPLAY SFMT("Order #%1 has been %2.",n,"deleted")
END MAIN
In this example, %1
is replaced by the value of the variable
n, while %2
is replaced by the string
"deleted
", resulting in: Order #234 has been
deleted.