Problème avec une boucle for!! [Résolu]

Signaler
Messages postés
63
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
25 novembre 2005
-
Messages postés
63
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
25 novembre 2005
-
Bonjour,

dans mon programme, je récupère dans une variable tampon des éléments appelés attibuts.
Puis je voudrais m'en occuper, les envoyer vers excel pour être précis. Dans un premier temps j'envois juste "ok" dans excel pour vérifier.
J'affiche dans le Label41 "oki" juste après le test if, puis pour voir si je rentre dans la boucle for un jour, j'affiche "ok". Mais voilà, "ok" ne s'affiche jamais!!! Pour quoi je n'entre pas dans la boucle for???

Voici le code:


vAtt = vBlockReference.OleFunction("GetAttributes"); // variable tampon



if(vAtt.IsArray())
{
Label41->Caption="oki";
for(int t=1 ; t<= vAtt.ArrayHighBound(1) ; t++)
{
vAttribute = vAtt.GetElement(t);
Label41->Caption = "ok";

Column = 3;
vCel l= vWorksheet.OlePropertyGet("Cells",3, Column);
vCell.OlePropertySet("Value", "ok");


vCel l= vWorksheet.OlePropertyGet("Cells",Row,Column);
vCell.OlePropertySet("Value","ok");

Row++;
}
}

merci d'avance


3 réponses

Messages postés
63
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
25 novembre 2005
1
J'ai réussi à entrer dans la boucle for ainsi:
 for(int t=vAtt.ArrayHighBound(1);t<vAtt.ArrayLowBound(1);t++)

en fait en vérifiant la valeur de vAtt.ArrayHighBound(1), je trouvais -1;
et je trouvais 0 pour vAtt.ArrayLowBound(1). Etrange , non?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Il n'y a pas de secret, si tu ne rentres pas dans la boucle for, c'est
parce que la condition est fausse au début, c'est a dire que
vAtt.ArrayHighBound(1)<1.

Tu devrais t'assurer que tu n'entre effectivement pas dans la boucle, avec des printf ou des MessageBox par exemple
Messages postés
63
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
25 novembre 2005
1
c'est pour m'en assurer que j'ai mis un Label. En effet je ne rentre pas dans la boucle en raison de ce t<vAtt.ArrayHighBound(1) . Quelle serait alors la solution?