OVH Cloud OVH Cloud

Comment generer un tableau issu d'une collection

3 réponses
Avatar
merlin01fr
Bonjour

je tente d'ameliorer mon script qui permet de generer une bibliotheque de
proprietes de classes en y incluant les methodes associees non pas ligne par
ligne , mais x colonnes par x colonnes

si je rentre le code suivant j'ai un message qui me dit que le type est
incompatible "test"

Code:


CompteurMethode = 0
CompteurTotalMethode = 0


For Each strMethode in strClass.methods_

If strMethode.Name <> "" Then
CompteurMethode = CompteurMethode + 1
End If

If CompteurMethode > CompteurTotalMethode Then
CompteurTotalMethode = CompteurMethode
End If

test(CompteurMethode) = strMethode.Name

If CompteurTotalMethode <> "" Then

CalculLigneMethode = Int((CompteurTotalMethode / 18) + 1)

'If calculLigneMethode = 1

MaPropriete.WriteLine(objClass.Path_.Class & ";" &
"CompteurMethode" & ";" & CompteurTotalMethode & " " & CalculLigneMethode _
& ";" & test(CompteurMethode))

End If
Next

3 réponses

Avatar
sympatix
Salut !

si je rentre le code suivant j'ai un message qui me dit que le type est
incompatible "test"


Je n'ai pas testé, mais, à priori, tu as oublié de déclarer la variable
[test] (car une variable tableau dois toujours être déclarée).

Donc, en début de code, il faut:

Dim test()

Entre les parenthèses, soit, tu laisses comme ceci, si tu ne connais pas à
l'avance les dimensions de ton tableau (il faudra dans ce cas le
redimensionner par la suite, par la fonction [redim]) soit, si tu les
connais, tu les entre directement, par exemple, pour un tableau à 1
dimension, contenant 8 éléments:

Dim test(7)

Pourquoi 7 ?
car les éléments débutent à 0 (donc, dim test (0) est un tableau contenant 1
élément)

Pour plus d'infos, consulter la doc, taper [variable] dans l'index (voir url
de téléchargement que j'ai communiquée dans le fil de crisben du 14-2)

--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr

(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)

Avatar
merlin01fr
Bonjour et merci pour ta reponse

mon tableau test est acces sur de multiples dimensions (puisque il est sensé
contenir les methodes des classes que je veux extraire) qui peuvent etre
comprises entre 0 et 41 .

dois je redimensionner a chaque nouvelle classe ou puis je l'adapter sur la
valeur la plus haute une fois pour toutes ?

Cordialement

Entre les parenthèses, soit, tu laisses comme ceci, si tu ne connais pas à
l'avance les dimensions de ton tableau (il faudra dans ce cas le
redimensionner par la suite, par la fonction [redim]) soit, si tu les
connais, tu les entre directement, par exemple, pour un tableau à 1
dimension, contenant 8 éléments:


Avatar
sympatix
mon tableau test est acces sur de multiples dimensions (puisque il est
sensé
contenir les methodes des classes que je veux extraire) qui peuvent etre
comprises entre 0 et 41 .
dois je redimensionner a chaque nouvelle classe ou puis je l'adapter sur la
valeur la plus haute une fois pour toutes ?


Normalement, les 2 méthodes fonctionnent.
Le fait de redimensionner ton tableau au fur et à mesure te permet de le
rendre adaptable à toutes les situations de ton script que tu n'aurais pas
prévues, et qui entraineraient un dépassement de capacité de ton tableau.
AMAHA, si tu es certain que les dimensions maximales ne seront jamais
dépassées, tu peux utiliser le dimensionnement maximal, donc 41, une fois
pour toutes.



--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr

(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)