Les Tableaux en VBScript
 
 
Comment créer des Tableaux ? 

Un tableau peut avoir 'plusieurs dimensions...Souvenez-vous du jeu de bataille navale où l'on devait 'cibler' les positions de navires pour tenter de les couler ..on disait alors :  B 6 
On peut imaginer que les navires étaient placés dans des tableaux à 2 dimensions: 

  • ( A,B,C,D,etc..étant une des 2 dimensions.. et
  • (1,2,3,4,5,6,etc..) la 2 ème dimensions...
  • Pour commencer, nous allons parler de tableaux à une seule dimension. 

    Pour créer un tableau ...2 étapes : 

    • déclarer le tableau 
    • charger le tableau ( tout ou partie..)
    1.Déclarer le tableau 

    Dim nom_tableau (n) 
    où 
    nom_tableau : choisir un nom ..comme pour les variables 
    n = nombre d'éléments du tableau moins 1. 

    2.Charger le tableau 

    Par exemple : 

    tablo(3) = "Jeudi" 
    Ce qui signifie qu'on affecte la chaine de caractères  'Jeudi' à l'élément n°3  du tableau 

    Les numéros ou indices des éléments d'un tableau commencent à 0. 
    Donc l'élément n°3  est bien le 4ème élément...!! 
    Exemple :  Créons un tableau contenant les 4 saisons d'une année... 

    Dim saisons(3)  '4 saisons - 1 
    saisons(0)="Printemps" 
    saisons(1)="Eté" 
    saisons(2)="Automne" 
    saisons(3)="Hiver" 

    Dans  notre page HTML on peut exploiter ce tableau ainsi: 

    alert 'saison du moment : ' & saisons(0) 

    ou 

    document.write saisons(2) 
     

    Remarque : 
    Souvent le chargement d'un tableau s'effectue grâce à une boucle for
    Par exemple:Si l'on veut créer un tableau contenant un nom de fichier image par jours de la semaine afin de présenter chaque jour une image différente sur une page...Les images se nommant : image0.gif,image1.gif,image2.gif,etc.. 
     

      Dim ima(6) 'déclaration du tableau 
      for n=0 to 6 
       ima(n)='image' & n & '.gif' 'chargement du tableau 
      next
       

       
    Comment créer unTableau sans le dimensionner. 

    On appelle un tel tableau : tableau dynamique. 
    On ne définit pas sa dimension ( nombre d'éléments ) au moment de sa déclaration. 
    Il est possible d'utiliser l'instruction ReDim pour le redimensionner si besoin dans le script. 

    Donc pour le déclarer : 
    dim  tablo() 

    Pour le redimensionner au cours du programme: 
    ReDim tablo(12) 
    ...puis plus tard: 
    Redim tablo(24) 
    Attention, à chaque instruction ReDim  les données qu'il contient à ce moment sont effacées...perdues..sauf si ..! 
    Vous pouvez préserver ces données si vous ne voulez pas les perdre: 

    ReDim Preserve tablo(18) 



     
    Il est possible de retrouver en programmation la taille d'un tableau.  

    Il existe la fonction vbscript UBound() qui retourne le nombre d'éléments d'un tableau. 
    Exemple : 
    nbre=UBound(tablo) 
    Donc: 
    for i=0 to (UBound(tablo)-1) 
      tablo(i)=20 
    next 

    Cette boucle initialise toutes les cases du tableau tablo à 20  même si l'on ne connait pas le nombre d'éléments du Tableau. 
    On peut aussi imaginer ce que l'on obtient avec: 
    alert 'le nombre d'éléments du Tableau est : '+UBound(tablo) 
     


     
    Les Tableaux à plusieurs dimensions 

    Retrouvons notre exemple du début de page concernant la bataille navale. 
    Il est possible de déclarer des tableaux multidimensionnels..La limite est 60 dimensions..!!énorme!! 

    Par exemple..un Jeu de Dames.. 

    Dim dames(x,y) 
    x est le nombre de cases horizontales (-1) 
    y _________________verticales (-1) 

    Pour atteindre un élément du tableau: 

    dames(2,5)=true 
    ou 
    dames(0,2)=false 

    ou encore 

    dim dames(15,15) 
    for y=0 to 15 
      for x=0 to 15 
          dames(x,y)=false 'tous les éléments sont initialisés à FAUX 
      next 
    next