Декларирање методи
Процедури
[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
Identifikator
(
[ [ BYREF ] Parametar AS Podatocen tip [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] Opcionen parametar AS Podatocen tip [ , ... ] ] [ , ] [ ... ]
)
...
END
Со ова се декларира процедура, т.е.
метод што не враќа ништо.
Клучниот збор
END го означува крајот на процедурата.
Функции
[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
Identifikator
(
[ [ BYREF ] Parametar AS Podatocen tip [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] Opcionalen parametar AS Podatocen tip [ , ... ] ] [ , ] [ ... ]
)
AS Podatocen tip
...
END
Со ова се декларира функција, т.е.
метод што враќа вредност.
Клучниот збор
END го означува крајот на функцијата.
Податочниот тип на повратната вредност мора да се специфицира.
 |
Се разбира, овие декларации мораат да се напишат во единствена линија. Овде тие се одделени поради подобра читливост.
|
Со помош на клучниот збор
RETURN се запира извршувањето на функцијата и повратната вредност се проследува до повикувачот.
Example
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
Достапност на методите
Методот е достапен од секое место во
класата што го декларира.
- Ако е наведен клучниот збор PUBLIC, методот е, исто така, достапен и до останатите класи што имаат референца до објект од оваа класа.
- Ако е наведен клучниот збор STATIC, методот може да достапи единствено до статичките променливи на класата.
Аргументи на методите
Сите аргументи на
методите се одделуваат со запирки.
- Ако е наведен клучниот збор OPTIONAL, сите параметри по клучните зборови се опциски. Стандардната вредност можете да ја специфицирате по декларацијата на параметрите со помош на знакот за еднаквост (=).
- Ако листата на параметрите завршува со ..., тогаш методот може да прифати дополнителни аргументи. Секој дополнителен аргумент проследен до методот е достапен преку класата Param.
Example
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
Проследување аргументи по референца
Кога е наведен клучниот збор
BYREF, аргументот мора да биде израз за доделување што ќе биде променет од повиканата функција.
 |
Клучниот збор BYREF мора да се наведе при повикувањето на методот.
Во овој момент, употребата на BYREF во декларацијата на методот е опциска и служи само за опис. Во иднина ова може да се смени, бидејќи ја нарушува приватноста на повиканиот метод!
|
Example
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
6.773333333333