REDIM |
Redimensionne |
---|---|
QuickBASIC/QBasic |
Syntaxe
REDIM [SHARED] variable[([inf TO] sup [,[inf TO] sup]...)] [AS type] [,variable[([inf TO] sup [,[inf TO] sup]...)] [AS type]]... |
Paramètres
Nom | Description | |
---|---|---|
SHARED | Ce paramètre permet d'indiquer que les variables sont partagées dans tous les procédures (SUB) et fonctions (FUNCTION). | |
variable | Ces paramètres permettent d'indiquer les noms de variable ou de tableau. | |
inf | Ces paramètres permettent d'indiquer la limite inférieur que contiendra le tableau. | |
sup | Ces paramètres permettent d'indiquer la limite supérieur que contiendra le tableau. | |
type | Ces paramètres permettent d'indiquer le type de données que contiendra la variable ou le tableau parmi les mot suivant : | |
Mot | Description | |
DBL | Ce mot permet de fixer le type de données de réel double précision | |
INT | Ce mot permet de fixer le type de données entière | |
LNG | Ce mot permet de fixer le type de données entière long | |
SNG | Ce mot permet de fixer le type de données de réel simple précision | |
STR | Ce mot permet de fixer le type de données de chaîne de caractères |
Description
Cette commande permet de redéfinir des tableaux ou variables existantes.
Remarques
- L'attribut SHARED facultatif permet à un module de partager des variables avec toutes les procédures du module; cela diffère de l'instruction SHARED, n'affectant que les variables d'un seul module. Le SHARED ne peut être utilisé que dans les instructions REDIM du code au niveau du module.
- Les indices dans les déclarations REDIM ont la format suivant suivant :
- L'instruction REDIM modifie l'espace alloué à un tableau ayant été déclaré $DYNAMIC.
- Lorsqu'une instruction REDIM est compilée, tous les tableaux déclarés dans l'instruction sont traités comme dynamiques. Lors de l'exécution, lorsqu'une instruction REDIM est exécutée, le tableau est désalloué (s'il est déjà alloué) puis réalloué avec les nouvelles dimensions. Les anciennes valeurs d'élément de tableau sont perdues car tous les éléments numériques sont réinitialisés à 0 et tous les éléments de chaîne de caractères sont réinitialisés à des chaînes de caractères nulles.
- Bien que vous puissiez modifier la taille des dimensions d'un tableau avec l'instruction REDIM, vous ne pouvez pas modifier le nombre de dimensions. Par exemple, les déclarations suivantes sont légales :
[lower TO] upper [,[lower TO] upper]... |
Le mot clef TO fournit un moyen d'indiquer à la fois les limites inférieure et supérieure des indices d'un tableau. Les paramètres inférieur et supérieur sont des expressions numériques spécifiant la valeur la plus basse et la plus élevée de l'indice.
' $DYNAMIC
DIM A(50,50)
ERASE A
REDIM A(20,15) 'Le tableau A a toujours deux dimensions.
Toutefois, les instructions suivantes ne sont pas légales et génèrent un message d'erreur indiquant :
Wrong number of dimensions |
Voici les instructions non autorisé :
' $DYNAMIC
DIM A(50,50)
ERASE A
REDIM A(5,5,5) 'Nombre de dimensions modifié de deux à trois.
Exemple
Voici un exemple une utilisation typique de cette instruction :
- 'DECLARATION DE DIRECTION:
- '$DYNAMIC
-
- DIM A%(50)
- FOR I% = 0 TO 50
- A%(I) = 100 * I
- NEXT
- PRINT "A%(1)="; A%(1); "A%(2)="; A%(2); "A%(3)="; A%(3); "A%(4)="; A%(4); "A%(5)="; A%(5)
- REDIM A%(5)
- A%(1) = 10: A%(2) = 20: A%(3) = 30: A%(4) = 40: A%(5) = 50
- PRINT "A%(1)="; A%(1); "A%(2)="; A%(2); "A%(3)="; A%(3); "A%(4)="; A%(4); "A%(5)="; A%(5)
on obtiendra le résultat suivant :
A%(1)= 0 A%(2)= 0 A%(3)= 0 A%(4)= 0 A%(5)= 0A%(1)= 10 A%(2)= 20 A%(3)= 30 A%(4)= 40 A%(5)= 50
Voir également
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - DIM
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - COMMON
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - ERASE
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - OPTION BASE
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - SHARED
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - STATIC