Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

rentrer dans une boucle

Bonjour, j'ai crée une boucle "for" avec

for(i=0;i<360;i++) {//code}

mais le programme ne veut pas rentrer dans la boucle for.

Quelques fois j'ai aussi "warning : will never be executed" en parlant de i++ alors j'ai essayé avec i=i+1 cela ne change rien. Et cette erreur ne bloque pas l'éxécution du programme cela bloque seulement l'entrée dans la boucle.

Quelqu'un a déjà eu ce problème? Je sais pas du tout d'où ça vient....

0 Compliments
Message 1 sur 9
4 197 Visites

Bonjour,

Avec un Vi, cela sera beaucoup plus simple de t'apporter notre aide.


En l'état, c'est comme si je te disais, j'ai créé une boucle while, et je rentre jamais dedans.


La seule réponse que je pourrais te fournir, c'est de cliquer sur la flèche pour lancer l'exécution 😄

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 2 sur 9
4 196 Visites

Oui c'est pas faux Michael 😛

mon code :

 

int CVICALLBACK StartMot (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
{
    switch (event)
    {
        case EVENT_COMMIT:
        int i;
        ComWrt(1,"\r",StringLength("\r"));

        for(i=0;i<360;i++)
        {
            /* begin the rotation */
            ComWrt(1,"SK(i)",StringLength("SK(i)"));
               /* wait 5 seconds the time to make the measure */
             ComWrt(1,"\r",StringLength("\r"));
             DelayWithEventProcessing (5);
            /* stop the measure */
             ComWrt(1,"CP(i)",StringLength("CP(i)"));
             ComWrt(1,"\r",StringLength("\r"));

            //break;
        }
        GetCtrlVal(panelHandle,PANEL_intervalTimer,&IntervalTimer);
    }
    return 0;
}

0 Compliments
Message 3 sur 9
4 191 Visites

Peut être qu'il rentre et s'arrête à  DelayWithEventProcessing (5); je suis pas sûre

0 Compliments
Message 4 sur 9
4 189 Visites

Bonjour,

Je ne peux rien pour toi malheureusement, je n'ai jamais touché à CVI.


Si tu sais parler anglais, pose ta question ici http://forums.ni.com/t5/LabWindows-CVI/bd-p/180, tu auras surement plus de chance d'obtenir une réponse.

Bonne journée,

Michael

 


EDIT : La syntaxe "for(i=0;i<360;i++)" me parait aberrante sans connaître l'environnment :D. On dirait une boucle FOR mais avec des arguments de type "while" (i<360). Pourquoi ne pas écrire i=359 ? ^^

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 5 sur 9
4 157 Visites

Merci pour l'aide je vais modifier le for.

Bonne journée, Anaël.

0 Compliments
Message 6 sur 9
4 149 Visites

Je ne suis pas du tout callé en CVI mais la syntaxe du for à l'air correcte. Par contre pourquoi ne pas faire un simple Delay plutot que delaywitheventprocessing?

Rodéric_L
Certified LabVIEW Architect
0 Compliments
Message 7 sur 9
4 135 Visites

Oui je pense que ma boucle for est juste, peut être qu'elle est pas adaptée au code précédent ou à la structure shématique. J'ai essayé avec Delay simple ça ne change rien et comme la stagiaire avant moi avait mis DelayWithEventProcessing j'ai laissé cette commande.

Anaël.

0 Compliments
Message 8 sur 9
4 123 Visites

http://forums.ni.com/t5/LabWindows-CVI/loop-cvi/td-p/3317745

Paolo_P
Certified TestStand Architect
Certified LabVIEW Architect
National Instruments France

0 Compliments
Message 9 sur 9
4 117 Visites