Il existe une méthode alternative de transfert de données entre une procédure et le programme principal. Lorsque SHARED est placé à l'intérieur d'une définition de procédure, il prend une liste de variables locales séparées par des virgules et les transforme en variables globales, qui peuvent être accédées directement depuis le programme principal. Bien entendu, si vous déclarez des tableaux comme globaux en utilisant cette technique, ils doivent avoir déjà été dimensionnés dans le programme principal. Voici un exemple :
E> A=666: B=999 EXAMPLE Print A,B Procedure EXAMPLE Shared A,B A=B-A: B=B+1 End Proc
EXAMPLE peut maintenant lire et écrire des informations dans les variables globales A et B. Si vous devez partager un tableau, il doit être défini comme ceci :
X> Shared A(),B#(),C$()
Dans un très grand programme, il est souvent pratique que différentes procédures partagent le même ensemble de variables globales. Cela offre un moyen simple de transférer de grandes quantités d'informations entre vos procédures.
GLOBAL
structure : déclarer une liste de variables globales pour les procédures
Global liste de variables
GLOBAL met en place une liste de variables qui peuvent être accédées depuis n'importe où dans votre programme. C'est une commande simplifiée, conçue pour être utilisée sans avoir besoin d'une instruction SHARED explicite dans vos définitions de procédures. Voici un exemple :
E> A=6 : B=9 Global A,B TEST1 TEST2 Print A,B Procedure TEST1 A=A+1 : B=B+1 End Proc Procedure TEST2 A=A+B : B=B+A End Proc
Les programmeurs AMOS Professional qui sont familiers avec les versions antérieures du système AMOS peuvent désormais utiliser la nouvelle fonctionnalité qui permet d'utiliser des chaînes dans les définitions de procédures. Comme pour les noms de disque, les caractères jokers * et ? peuvent également être inclus. Dans ce cas, le caractère * est