Déclaration de méthode
Les procédures
[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
Identificateur
(
[ [ BYREF ] Paramètre AS Datatype [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] _ ParamètreOptionel_ AS TypeDeDonnée [ , ... ] ] [ , ] [ ... ]
)
...
END
Déclare une procédure, c'est-à-dire une
Méthode qui ne retourne rien.
Le mot-clé
END indique la fin de la procédure.
Les fonctions
[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
Identificateur
(
[ [ BYREF ] Paramètre AS Datatype [ , ... ] ] [ , ]
[ OPTIONAL [ BYREF ] ParamètreOptionel AS TypeDeDonnée [ , ... ] ] [ , ] [ ... ]
)
AS TypeDeDonnée
...
END
Déclare une fonction, c'est-à-dire une
Méthode qui retourne une valeur.
Le mot-clé
END indique la fin de la fonction.
Le type de donnée de la valeur de retour doit être indiqué.
 |
Bien sûr, ces déclarations doivent être écrites sur une ligne unique. Elles sont séparées ici pour que ce soit lisible.
|
Utilisez le mot-clé
RETURN pour terminer la fonction et passer la valeur de retour à l'appelant.
Exemple
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
Accessibilité de la méthode
La
Méthode est accessible partout dans la
classe où elle est déclarée.
- Si le mot-clé PUBLIC est indiqué, elle est alors accessible dans les autres classes ayant une référence à un objet de cette classe
- Si le mot-clé STATIC est indiqué, la Méthode ne peut accéder qu'aux variables statiques de la classe.
Arguments de méthode
Tous les paramètres de
Méthode sont séparés par des virgules.
- Si le mot-clé OPTIONAL est indiqué, tous les paramètres après le mot-clé sont facultatifs. Vous pouvez préciser une valeur par défaut après la déclaration du paramètre en utilisant le signe égal.
- Si la liste des paramètres se termine avec ..., alors la Méthode peut prendre des arguments supplémentaires. Tous les arguments additionnels passés à la Méthode sont accessibles avec la classe Param.
Exemple
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 Passés Par Référence
Lorsque le mot-clé
BYREF est spécifié, l'argument doit être une expression d'affectation qui sera modifiée par la fonction appelée.
Exemple
SUB ConvPixelEnCentimetre(BYREF Value as Float, Dpi AS Integer)
Value = Value / Dpi * 2.54
END
PUBLIC SUB Main()
DIM Size AS Float
Size = 256
ConvPixelEnCentimetre(BYREF Size, 96)
PRINT Size
END
6.773333333333
 |
Si vous ne spécifiez pas BYREF lors de l’appel de fonction, l’argument est alors passé par valeur, même si BYREF était spécifié dans la déclaration de fonction.
En d’autres termes : la fonction appelée autorise le passage d'argument par référence à l'endroit où l’appelant le décide.
|