IBM Lotus Symphony


Utilisation des procédures et des fonctions

Cette rubrique décrit les principes de base de l'utilisation des procédures et des fonctions dans Lotus Symphony Basic.

Icône Remarque Lors de la création d'un nouveau module, Lotus Symphony Basic insère automatiquement une procédure SUB appelée "Main". Ce nom par défaut n'a aucun rapport avec l'ordre ou le point de départ d'un projet de Lotus Symphony Basic. Vous pouvez donc renommer cette procédure SUB en toute sécurité.

Les procédures (SUB) et les fonctions (FUNCTION) vous aident à conserver une présentation structurée en décomposant un programme en parties logiques.

L'un des avantages des procédures et des fonctions est qu'une fois que vous avez développé un code de programme contenant des composants tâche, vous pouvez l'utiliser dans un autre projet.

Transmission des variables aux procédures (SUB) et aux fonctions (FUNCTION)

Des variables peuvent être transmises aux procédures et aux fonctions. Les éléments SUB ou FUNCTION doivent être déclarés pour prévoir des paramètres :

SUB SubName(Parameter1 As Type, Parameter2 As Type,...)

Code de programme

END SUB

L'élément SUB est appelé à l'aide de la syntaxe suivante :

SubName(Value1, Value2,...)

Les paramètres transmis à l'élément SUB doivent correspondre à ceux spécifiés dans la déclaration de SUB.

Le même processus doit s'appliquer aux fonctions (FUNCTION) et celles-ci renvoient toujours un résultat. Ce résultat est défini en affectant la valeur de retour au nom de la fonction :

FUNCTION FunctionName(Parameter1 As Type, Parameter2 As Type,...) As Type

Code de programme

FunctionName=Result

End Function

L'élément FUNCTION est appelé à l'aide de la syntaxe suivante :

Variable=FunctionName(Parameter1, Parameter2,...)

Icône Astuce Vous pouvez également utiliser le nom qualifié complet pour appeler une procédure ou une fonction : Library.Module.Macro() Par exemple, pour appeler la macro de texte automatique (Autotext) à partir de la bibliothèque Gimmicks, utilisez la commande suivante : Gimmicks.AutoText.Main()

Transmission de paramètres par valeur ou par référence

Les paramètres peuvent être transmis à un élément SUB ou FUNCTION par référence ou par valeur. Sauf indication contraire, les paramètres sont toujours transmis par référence. Cela signifie qu'une procédure ou une fonction reçoit un paramètre et peut lire et modifier sa valeur.

Si vous souhaitez transmettre un paramètre par valeur, insérez le mot-clé "ByVal" avant le paramètre lorsque vous appelez un élément SUB ou FUNCTION. Par exemple :

Result = Function( ByVal Paramètre)

Dans ce cas, le contenu d'origine du paramètre n'est pas modifié par la fonction, car elle ne reçoit que la valeur et non pas le paramètre en lui-même.

Portée des variables

Une variable définie dans un élément SUB ou FUNCTION reste valide uniquement jusqu'à la fermeture de la procédure. Ce type de variable est appelé "variable locale". Cependant, dans bien des cas, une variable doit rester valide dans toutes les procédures, dans tous les modules de toutes les bibliothèques, ou après la fermeture d'une procédure ou d'une fonction.

Déclaration de variables en dehors d'un élément SUB ou FUNCTION

GLOBAL VarName As TYPENAME

La variable est valide tant que la session Lotus Symphony est active.

PUBLIC VarName As TYPENAME

La variable est valide dans tous les modules.

PRIVATE VarName As TYPENAME

La variable est valide dans ce module.

DIM VarName As TYPENAME

La variable est valide dans ce module.

Exemples de variables privées

Forcez le passage de variables en mode privé dans des modules en définissant la valeur CompatibilityMode(true).

REM ***** Module1 *****

Private myText As String

Sub initMyText

myText = "Bonjour"

print "in module1 : ", myText

End Sub

REM ***** Module2 *****

'Option Explicit

Sub demoBug

CompatibilityMode( true )

initMyText

' Now returns empty string

' (or rises error for Option Explicit)

print "Now in module2 : ", myText

End Sub

Enregistrement du contenu d'une variable après la fermeture d'un élément SUB ou FUNCTION

STATIC VarName As TYPENAME

La variable conserve sa valeur jusqu'à la prochaine ouverture de FUNCTION ou de SUB. La déclaration doit exister au sein d'un élément SUB ou FUNCTION.

Spécification du type de valeur de retour d'un élément FUNCTION

Insérez, comme pour les variables, un caractère de déclaration de type après le nom de la fonction, ou le type indiqué par As et le mot-clé approprié à la fin de la liste des paramètres pour définir le type de la valeur de retour de la fonction. Par exemple :

Function WordCount(WordText as String) as Integer


Commentaires en retour sur le produit | Documentation complémentaire | Marques