Sub declaration
A sub-declaration within a HBasic program declares the body of a
subroutine. Subroutines may be called in another statement or may be
used as event handler for class or component events. See connecting to
events to understand how to change a subroutine into an
event handler.
<Sub-declaration>
::=
<Sub-header>
<statement list>
<End-Sub-token>
<Sub-header>
::=
Sub <identifier>
( <parameter-list>
) As
<returntype> [ Handles
<identifier> ]
<returntype>
::= <simpletype>
<parameter-list>
::= <parameter-desc>
{ , <parameter-desc>
}
<parameter-desc>
::= [ByVal
| ByRef
]
<identifier> As
<typedesc>
<Sub-header-token>
::= Sub
| Method
| Function
<End-sub-token>
::= End Sub
| End Method
| End Function
Return value of a subroutine
If the subroutine definition has a return
value you can assign the
return value to the subroutine name within the body of the subroutine.
Example:
Sub test() As Integer
test = 1234
End Sub
In
this example the statement test = 1234
will set the return value of
the subroutine to the value 1234.
Subroutine call
<function-call> ::= sub-name ( <expr-list> )
where
sub_name is either the name of a subroutine that has been defined
somewhere else in your HBasic program. or the name of a global method
that has been defined within a package that's currently loaded in your
project.
Return statement
<Return statement>
Connecting to events
A subroutine declaration becomes an event handler if one of the two
following conditions is true:
1) Immediatly behind the parameter list of the subroutine is a Handles structure
Sub identifier ( parameter-list ) Handles
compname.eventname
or Sub
identifier ( parameter-list ) Handles
classname.eventname
2) The name of the subroutine is in the form compname_eventname or
classname_eventname
The identifier eventname therefore has to be the name of an event that
has been defined within a class or the name of an event from the
list of events of a component or qtc class.
Special implemented event handler is form_load. This will be called
when opening the form.