DIM
DESCRIPTION.
L' instruction DIM est utilisée pour déclarer un tableau de données, non redimensionnable, en précisant le type commun à toutes les données,
Voir l'instruction DIM pour déclarer une ou plusieurs variables.
SYNTAXES.
DIM SHARED LST_Tableau? ( valeur )
DIM SHARED LST_Tableau ( valeur ) AS type
DIM SHARED LST_Tableau? ( debut TO fin )
DIM SHARED LST_Tableau ( debut TO fin ) AS type
DIM SHARED LST_Tableau? ( valeura , valeurb , ... , valeurn )
DIM SHARED LST_Tableau ( valeura , valeurb , ... , valeurn ) AS type
DIM SHARED LST_Tableau? ( debuta TO fina , debutb TO finb , ... , debutn TO finn )
DIM SHARED LST_Tableau ( debuta TO fina , debutb TO finb , ... , debutn TO finn ) AS type
REMARQUES.
Dans QBASIC et dans QB84, tous les tableaux ayant plus de 11 éléments doivent être déclarés avant leur utilisation.
LST_Tableau peut être n'importe quelle combinaison de lettres majuscules ou minuscules et de chiffres, mais commençant par une lettre et qui ne soit pas un mot-clé de QBASIC ou de QB64.
valeur, debut et fin sont obligatoires et doivent être du type INTERER (%) ou LONG (&), mais debut et fin peuvent être négatifs.
Le nombre d'items d'un tableau de données, non déclaré, est égal à :
- 11 items par défaut ou avec OPTION BASE 0 ;
- 10 items avec OPTION BASE 1.
Le nombre d'items d'un tableau de données déclaré,avec DIM LST_Tableau ( valeur ) AS type est :
- valeur + 1 items par défaut ou avec OPTION BASE 0 ;
- valeur items avec OPTION BASE 1.
Le nombre d'items d'un tableau de données déclaré avec DIM LST_Tableau ( debut TO fin ) AS type est de ( fin - debut ) + 1 items.
S'il est présent, le mot-clé SHARED, indique que le tableau sera de portée globale (partagée), les valeurs de ses items pourront être lues et/ou modifiées dans toutes les procédures et fonctions personnalisées, sans avoir besoin de le passer dans les paramètres lors de l'appel.
? peut être : % (INTEGER) ; & (LONG) ; ! (SINGLE) ; # (DOUBLE) ; $ (STRING) ; ` (_BIT) ; %% (_BYTE) ; && (_INTEGER64) ; ## (_FLOAT) ; %& (_OFFSET).
type peut valoir : INTEGER ; LONG ; SINGLE ; DOUBLE ; STRING ; _BIT ; _BYTE ; _INTEGER64 ; _FLOAT ; _OFFSET ; _MEM (le type _MEM n'a pas de suffixe de type).
Si le mot-clé AS est utilisé pour définir le type de la variable, aucun suffixe, symbole de type, ne doit être ajouté au nom de la variable.
Les variables de type STRING ($) et _BIT (`) peuvent être déclarées avec l'une longueur, en indiquant le nombre de caractères qui doivent la composer précédé du symbole *. Par exemple : DIM kdesignation AS STRING * 9, la variable kdesignation$ (ou kdesignation) comportera toujours 9 caractères.
Si le type des données du tableau n'est pas indiqué, elles seront toutes du type SINGLE (!).
Lors de la déclaration d'un tableau, tous ses items reçoivent la valeur :
- 0 s'il est défini avec un des types numériques ;
- "" (chaine vide) s'il est défini avec le type STRING seul ou ;
- un STRING remplit de quantite espaces comme indiqué avec STRING * quantite.
Pour déclarer des tableaux à plusieurs dimensions, et selon les besoins, on utilisera l'une des syntaxes :
DIM LST_Tableau? ( valeura , valeurb , ... , valeurn )
DIM LST_Tableau ( valeura , valeurb , ... , valeurn ) AS type
DIM LST_Tableau? ( debuta TO fina , debutb TO finb , ... , debutn TO finn )
DIM LST_Tableau ( debuta TO fina , debutb TO finb , ... , debutn TO finn ) AS type
Tous les tableaux de données de types numériques, à l'exception de SINGLE, DOUBLE et _FLOAT, peuvent être dimensionnés comme _UNSIGNED (~) c'est-à-dire uniquement positifs.
Par défaut, les tableaux de données sont $STATIC, c'est-à-dire que leur nombre d'items ne peut pas être modifié, à moins que la métacommande $DYNAMIC ne soit indiqué en début de script. Pour modifier le nombre d'items d'un tableau de données, on utilisera l'instruction REDIM. Si un tableau de données n'est pas modifiable, une erreur pourra interrompre le programme si REDIM est utilisé pour ce tableau de données.
REM $DYNAMIC
DIM LST_Scores(25) AS INTEGER
Les tableaux de données déclarés après la métacommande $DYNAMIC ou avec l'instruction REDIM devront être déclarés de nouveau avec leur bonne dimension après l’exécution d'une instruction CLEAR ou ERASE.
RUBRIQUE.
Les tableaux de données pour plus de détails sur la création et l'utilisation des tableaux de données.
EXEMPLES.
DIM LST_Scores(25) AS INTEGER
DIM LST_Scores%(25)
DIM LST_Pseudo(20) AS STRING
DIM LST_Coordonnees(20) AS STRING * 7
DIM SHARED LST_Partages(15) AS SINGLE
DIM LST_Distances(10 TO 30) AS DOUBLE
DIM LST_Coordonnees(17, 8) AS LONG
DIM LST_3d(23, 14, 37) AS STRING
DIM LST_Lances(8 TO 27, 14 TO 32, 172 TO 204, 31 TO 50 ) AS DOUBLE
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.