Static
DescriptionStatic <variable> [,<variable>,...]
Static permet de créer des variables locales persistantes dans une procedure. Les variables statiques sont prioritaires sur les variables globales, ce qui implique qu'une variable globale sera ignorée dans une procédure si une variable statique portant le même nom est déjà déclarée. La valeur de la variable statique n'est pas réinitialisée à chaque appel de la procédure: c'est donc un bon moyen pour avoir une variable globale affectée à une seule procédure.
Static peut aussi être utilisé avec les tableaux et les listes chaînées. Lors de la déclaration d'un tableau static, ses paramètres doivent être une valeur constante.Exemple: Avec une variable
Global a a = 10 Procedure Change() Static a a+1 Debug "In Procedure: "+Str(a) ; Affichera 1, 2, 3 car la variable s'incrémente à chaque appel de la procédure. EndProcedure Change() Change() Change() Debug a ; Affichera 10, car une variable 'static' n'affecte pas une variable 'global'.Exemple: Avec un tableau
Global Dim Array(2) Array(0) = 10 Procedure Change() Static Dim Array(2) Array(0)+1 Debug "Dans la Procéedure: "+Str(Array(0)) ; Affichera 1, 2, 3 car la valeur du champ du tableau s'incrémente à chaque appel de la procédure. EndProcedure Change() Change() Change() Debug Array(0) ; Affichera 10, car un tableau 'static' n'affecte pas un tableau 'global'.