198
Description:
Description:Description:
Description:
Creating a user-defined function
FUNCTION...END FUNCTION creates a user-defined function. The function definition
block between FUNCTION and END FUNCTION is a set of some statements and functions.
• You cannot make double definition to a same function name.
• This statement block should not be defined in the block-structured statements (DEF
FN ..END DEF, FOR ..NEXT, FUNCTION ..END FUNCTION,
IF ..THEN ...ELSE ..END IF, SELECT ..CASE ..END SELECT, SUB ..END SUB
and WHILE ..WEND), in the error-handling routine, event-handling routine, or in the
subroutines.
• FUNCTION...END FUNCTION functions can be recursive.
• In defining a string function, you can specify the maximum stringlength. If its
specification is omitted, the default value of 40 characters takes effect.
• dummyparameter, which corresponds to the variable having the same name in the
function definition block, is a local variable valid only in that block. Therefore, if a
variable having the same name as dummyparameter is used outside
FUNCTION...END FUNCTION statement block or used as a dummyparameter of any
other function in the same program, then it will be independently treated.
• In user-defined functions, you can call other user-defined functions. You can nest
FUNCTION...END FUNCTION statements to a maximum of 10 levels.
• When using the FUNCTION...END FUNCTION together with block-structured
statements (DEF FN ..END DEF, FOR ..NEXT, FUNCTION ..END FUNCTION,
IFTHEN ..ELSE ..END IF, SELECT ..CASE ..END SELECT, SUB ..END SUB and
WHILE ..WEND), you can nest them to a maximum of 30 levels.
• If variables other than dummyparameter(s) are specified in the function definition block,
they will be treated as local variables whose current values are avail-able only in that
function definition block, unless PRIVATE or GLOBAL is specified.
• EXIT FUNCTION exits the function block prematurely and returns control to the position
immediately after the statement that called the user-defined function.
• Using Syntax 5 allows you to assign a return value for a user-defined function. The type
of funcname should match that of a return value. If no return value is assigned to
funcname, then the value 0 or a null string will be returned for a numeric function or a
string function, respectively.
Calling a user-defined function
funcname calls the function.
• The number of realparameters should be equal to that of dummyparameters, and
the types of the corresponding variables used in those parameters should be identical.
Kommentare zu diesen Handbüchern