Page 1 sur 1

Dim prérempli

Publié : jeu. 14/sept./2006 20:54
par SPH
Comment declarer un tableau automatiquement rempli d'autre chose que du zero habituel ?

style : Dim ok.l(50,50)=3
sous entendu tous les elements du tableau valent 3

Publié : jeu. 14/sept./2006 22:13
par Flype
il n'y a pas possibilité de faire çà.

par contre, il est parfois utile de procéder comme çà :

Code : Tout sélectionner

Dim tableau.c(26) 

PokeS(@tableau(0), "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 26)

For i = 0 To 25
  Debug Chr(tableau(i))
Next

mais une simple boucle est très facile à écrire pour remplir ton tableau.

Code : Tout sélectionner

ProcedureDLL.l FillArray1(array(1), d1.l, DefaultValue.l = 0)
  
  Protected i.l
  
  For i = 0 To d1
    array(i) = DefaultValue
  Next i
  
EndProcedure

ProcedureDLL.l FillArray2(array(2), d1.l, d2.l, DefaultValue.l = 0)
  
  Protected i.l, j.l
  
  For i = 0 To d1
    For j = 0 To d2
      array(i, j) = DefaultValue
    Next j
  Next i
  
EndProcedure

ProcedureDLL.l FillArray3(array(3), d1.l, d2.l, d3.l, DefaultValue.l = 0)
  
  Protected i.l, j.l, k.l
  
  For i = 0 To d1
    For j = 0 To d2
      For k = 0 To d3
        array(i, j, k) = DefaultValue
      Next k
    Next j
  Next i
  
EndProcedure



Dim ok.l(50, 50)

FillArray2(ok(), 50, 50, 3)

For i = 0 To 50
  For j = 0 To 50
    Debug ok(i, j)
  Next j
Next i