Problème avec une boucle for!!

Résolu
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 - 10 mai 2005 à 15:50
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 - 11 mai 2005 à 14:12
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

speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 1
11 mai 2005 à 14:12
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?
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 mai 2005 à 16:39
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
0
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 1
11 mai 2005 à 08:54
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?
0
Rejoignez-nous