Deklarimi i metodave
Procedurat
[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
Identifikatori
(
[ Parametri AS Tipi i të dhënës [ , ... ] ] [ , ]
[ OPTIONAL Parametrat obcional AS Tipi i të dhënës [ , ... ] ] [ , ] [ ... ]
)
...
END
[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
Identifikatori
(
[ [ BYREF ] Parametri AS Tipi i të dhënës [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] Parametrat obcional AS Tipi i të dhënës [ , ... ] ] [ , ] [ ... ]
)
...
END
Kjo deklaron procedurë, dmth.
Metoda që nuk kthen rezultat.
Fjala kyçe
END tregon fundin e procedurës.
Funksionet
[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
Identifikatori
(
[ Parametri AS Tipi i të dhënës [ , ... ] ] [ , ]
[ OPTIONAL Parametri opcional AS Tipi i të dhënës [ , ... ] ] [ , ] [ ... ]
)
AS Tipi i të dhënës
...
END
[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
Identifikatori
(
[ [ BYREF ] Parametri AS Tipi i të dhënës [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] Parametrat obcional AS Tipi i të dhënës [ , ... ] ] [ , ] [ ... ]
)
AS Tipi i të dhënës
...
END
Kjo deklaron funksion dmth.
Metoda që rezulton një vlerë.
Fjala kyçe
END tregon fundin e funksionit.
Tipi i të dhënës që rezulton duhet te përcaktohet.
 |
Gjithashtu, këto deklarime duhet të shkruhen një vijë të njejtë. Janë të ndara me qëllim të leximit më të lehte.
|
Përdoreni fjalën kyçe
RETURN që t'a mbaroni funksionin dhe t'a ktheni vlerën kthyese deri te thirësi.
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
Qasja e metodave
Metoda ka qasje çdo kund në
Klasë ku është deklaruar.
- Nëse fjala kyçe PUBLIC përcaktohet, metoda gjithashtu mund të qaset edhe nga klasat tjera duke pasur referencë Objekti të kësaj Klasë.
- Nëse fjala kyçe STATIC përcaktohet, Metoda mund t'i qaset vetëm ndryshoreve statike të Klasë.
Argumentet e metodave
Të gjitha argumentet e
Metoda ndahen me presje.
- Nëse fjala kyçe OPTIONAL përcaktohet, gjithë parameterat e fjalës kyçe janë obcional. Mund të përcaktoniv lera të parazgjedhura pas deklarimit të parametrave duke përdorur shenjën e barazimit.
- Nëse lista e parametrave mbaron me ..., atëherë Metoda mund të pranojë argumente plotësuese. Çdo argument plotësues që i jepet
Metoda qaset me
Param Klasë.
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
Argument që jepen me referencë
Nëse përdoret fjala kyçe
BYREF, argumentet duhet të jenë shprehje përcaktuese që do të modifikohet nga funksioni që thiret.
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
 |
Nëse nuk përdor fjalën BYREF gjatë thirjes sës funksionit, atëherë argumentet jepen me vlerë, edhe pse BYREF është përdorur gjatë deklarimit të
funksionit.
Me fjalë tjera: funksioni i thirur lejon që argumentet të jepen me referencë, por thirësi sjell vendimin.
|