Home > lang > methoddecl 
 en fr de es it nl pl pt pt_BR sq ca hu cs tr ar fa id vi ko ja ru zh zh_TW eo
Previous  Next  Edit  Rename  Undo  Refresh  Search  Administration  
Documentation
History
 
Warning! This page is not up to date.  See english version 
Декларирање методи

Процедури

[ 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

Достапност на методите

Методот е достапен од секое место во класата што го декларира.

Аргументи на методите

Сите аргументи на методите се одделуваат со запирки.

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

See also

Декларирање променливи