Amos Professional Manual  Contents  Index

Procedures


Parce que les variables globales ne peuvent pas être accédées depuis l'intérieur de la procédure, la procédure leur assigne une valeur de zéro, quel que soit la valeur qui leur est donnée globalement.

E> A=666 : B=999
   EXAMPLE
   Print A,B
   Procedure EXAMPLE
    Print A,B
   End Proc

Pour éviter les erreurs, vous devez considérer les procédures comme des programmes séparés avec leurs propres ensembles de variables et d'instructions. Il est donc très mauvais pour le programmeur AMOS Professional d'utiliser les mêmes noms de variables à l'intérieur et à l'extérieur d'une procédure, car cela pourrait vous faire croire que des variables complètement différentes sont identiques, et retrouver les erreurs deviendrait un cauchemar. Pour vous faciliter la vie, il existe des méthodes simples pour éviter de tels problèmes.

Une méthode consiste à définir une liste de paramètres dans une procédure. Cela crée un groupe de variables locales qui peuvent être chargées directement depuis le programme principal. Par exemple :

E> Procedure HELLO[NAME$]
    Print "Hello ";NAME$
   End Proc
   Rem Charger N$ dans NAME$ et entrer dans la procédure
   Input "What is your name?",N$
   HELLO[N$]
   Rem Charger la chaîne dans NAME$ et appeler HELLO
   HELLO["nice to meet you!]

Notez que les valeurs à charger dans NAME$ sont entrées entre crochets comme partie de l'appel de procédure. Ce système fonctionne aussi bien avec des constantes qu'avec des variables, mais bien que vous puissiez transférer des variables entières, réelles ou chaînes, vous ne pouvez pas transférer de tableaux par cette méthode. Si vous devez entrer plus d'un paramètre, les variables doivent être séparées par des virgules, comme ceci :

X> Procedure TWINS[A,B]
   Procedure TRIPLETS[X$,Y$,Z$]

Ces procédures pourraient être appelées comme ceci :

X> TWINS[6,9]
   TRIPLETS["Xenon","Yak","Zygote"]

SHARED
structure : définir une liste de variables globales
Shared liste de variables

Retour    Suivant
05.05.05