Deklarace Metod
Procedures
[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
Identifier
(
[ [ BYREF ] Parameter AS Datatype [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] Optional Parameter AS Datatype [ , ... ] ] [ , ] [ ... ]
)
...
END
This declares a procedure, i.e. a Metody that returns nothing.
The
END keyword indicates the end of the procedure.
Functions
[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
Identifier
(
[ [ BYREF ] Parameter AS Datatype [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] Optional Parameter AS Datatype [ , ... ] ] [ , ] [ ... ]
)
AS Datatype
...
END
This declares a function, i.e. a Metody that returns a value.
The
END keyword indicates the end of the function.
The datatype of the return value must be specified.
Of course, these declarations must be written on a unique line. They are separated there so that it is readable.
Use the
RETURN keyword to terminate the function and pass the return value back to the caller.
Examples
FUNCTION Calc(fX AS Float) AS Float
RETURN Sin(fX) * Exp(- fX)
END
PUBLIC SUB Button1_Click()
PRINT Calc(0);; Calc(0.5);; Calc(1)
END
0 0.290786288213 0.309559875653
Method Access
The Metody is accessible everywhere in the Třída it is declared.
-
If the
PUBLIC
keyword is specified, it is also accessible to the other classes having a reference to an objekt of this Třída.
-
If the
STATIC
keyword is specified, the Metody can only access to the static variables of the Třída.
Method Arguments
All Metody arguments are separated by commas.
-
If the
OPTIONAL
keyword is specified, all parameters after the keywords are optional. You can specify a default value after the parameter declaration by using the equal sign.
-
If the parameters list end with
...
, then the Metody can take extra arguments. Every additional argument passed to the Metody is accessible with the Param Třída.
Examples
STATIC PUBLIC PROCEDURE Main()
...
PUBLIC FUNCTION Calc(fA AS Float, fB AS Float) AS Float
...
PRIVATE SUB DoIt(sCommand AS String, OPTIONAL bSaveIt AS Boolean = TRUE)
...
STATIC PRIVATE FUNCTION MyPrintf(sFormat AS String, ...) AS Integer
Arguments Passed By Reference
When the
BYREF
keyword is specified, the argument must be an assignment expression that will be modified by the called function.
Examples
SUB ConvPixelToCentimeter(BYREF Value as Float, Dpi AS Integer)
Value = Value / Dpi * 2.54
END
PUBLIC SUB Main()
DIM Size AS Float
Size = 256
ConvPixelToCentimeter(BYREF Size, 96)
PRINT Size
END
If you do not specify BYREF at function call, then the argument is passed by value, even if BYREF was specified at function declaration.
In other words: the called function
allows an argument to be passed by reference, whereas the caller
decides it.
Viz také