Utilisation des tableaux comme type de donnée

Yohann_1 Messages postés 4 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 16 janvier 2004 - 6 déc. 2003 à 18:50
cs_phil23 Messages postés 79 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 14 juillet 2005 - 6 déc. 2003 à 23:33
Je débute sur VB et j'ai été surpris parce que j'ai l'impression de créer un type personnalisé à base de tableau. Par exmple si je veux créer un type "pile" qui est un tableau d'entiers de 100 cases. Et ensuite créer des variables pile1 , pile2 , pile 3 du type pile. Comment faire ?

De même pour passer un tableau en paramètre dans une procédure ??? par exemple la procédure qui affiche un tableau s'appellerait : afficher ( tablo ) mais quelle est la syntaxe exacte et surtour est-ce qu'il est possible de passer un paramètre de type tableau à une procédure ?

Pfff je suis un peu perdu là. C terrible, je ne sais pas comment utiliser un tableau dans un type personnalisé. Comment faire ?

2 réponses

cs_lataupeben Messages postés 232 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 24 janvier 2006
6 déc. 2003 à 18:55
j' ai pas compris non plus au tableau

mais je sais que tu as ton type

et apre
dim variable1(0 to 20) as type
si ca peut t ' aider
pour remplir
variable1(0)="......"

avec un type perso ????
comment on rempli ???
aidez nous svp
0
cs_phil23 Messages postés 79 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 14 juillet 2005 1
6 déc. 2003 à 23:33
Tu peux faire comme ça mais c'est un peut bête de faire un type personnel dans ce cas.

Option Explicit
Option Base 0

Private Type MonTypePerso
tabEntier(0 To 99) As Long '100 éléments
End Type

Dim pile1 As MonTypePerso
Dim pile2 As MonTypePerso
Dim pile3 As MonTypePerso

Private Sub Command1_Click()
Call Afficher(pile1)
End Sub

Private Sub Afficher(ByRef tablo As MonTypePerso)
Dim i As Long
For i = LBound(tablo.tabEntier) To UBound(tablo.tabEntier)
MsgBox "Valeur " & i & ": " & tablo.tabEntier(i)
Next i
End Sub

Il est préférable de faire ça:
Option Explicit
Option Base 0

Dim pile1(0 To 99) As Long
Dim pile2(0 To 99) As Long
Dim pile3(0 To 99) As Long

Private Sub Command1_Click()
Call Afficher(pile1)
End Sub

Private Sub Afficher(tablo() As Long)
Dim i As Long
For i = LBound(tablo) To UBound(tablo)
MsgBox "Valeur " & i & ": " & tablo(i)
Next i
End Sub
0
Rejoignez-nous