Comment tester si un tableau dynamique est vide ????
youkizouki
Messages postés82Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention12 octobre 2005
-
29 avril 2005 à 12:16
youkizouki
Messages postés82Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention12 octobre 2005
-
29 avril 2005 à 13:19
un p'tite question...
savez vous comment tester si un tableau dynamique possède au moins une valeur
1° ) j'ai creér 3 tableau dynamiques.
Dim tabErreur as string()
Dim tabAvertissement as String()
Dim tabReference as String()
2°) je lit les lignes d'un fichier .log et en fonction de son contenu je place la ligne dans 1 des 3 tableaux dynamique.
if ... then
i=i+1
Redim Preserve tabErreur(i)
tabErreur(i-1) = ligne
End if
3°) A la fin j'appel une procedure en lui passant en parametre le tableau dynamique mais je ne dois l'appeler que si mon tableau dynamique possède au moins une valeur... :-s
Savez vous comment tester si un tableau dynamique possède au moins une valeur ( Empty ?)
(je pensais utiliser Ubound(tab) mais erreur d'indice en dehors de la plage )
Starec
Messages postés152Date d'inscriptionmercredi 30 mars 2005StatutMembreDernière intervention 5 mars 2007 29 avril 2005 à 12:26
Salut,
Je pense d'abord que tu as un problème de syntaxe sur le Ubound, tu met tab, est-ce une erreur de saisie ?. si non, tu dois mettre le nom de ton tableau Ubound(tabErreur,1), quand au 1 c'est le test sur la premiére dimension de tableau.
Fait le test si le champ est vide "", par une boucle.
En espérant t'avoir aidé
Vous n’avez pas trouvé la réponse que vous recherchez ?
youkizouki
Messages postés82Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention12 octobre 20051 29 avril 2005 à 12:51
bonjour starec,
* pour tab c'est une erreur de syntaxe (trop vite..)
*sinon, tu ne peux pas faire un Ubound(nomTableau) sur un tableau dynamique qui n'a pas etait initialisé...
Dim tabErreur() as String: est un tableau qui n'a pas encore de taille donc d'indice et Ubound
renvoie le plus grand indice...
Déf: Ubound(tab,dimension) : renvoie une valeur de type
<OBJECT classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 id=alink_4 type=application/x-oleobject></OBJECT> [javascript:alink_4.Click() Long] contenant le plus grand indice disponible pour la dimension indiquée d'un
<OBJECT classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11 id=alink_5 type=application/x-oleobject></OBJECT>[javascript:alink_5.Click() tableau].
je pourrais trvailler inversément, c'est a dire
1°)declarer le tableau
2°) redimensionner
3°) if ....then
tabErreur(i)=ligne
i=i+1
Redim Preserve tabErreur(i)
end if
>> mais le mon tableau serait trop grand de 1 du fait qu'il est initialiser à la fin. (inutile)
n'y a t il pas un moyen plus propre de tester cela