Page 1 sur 2
[RESOLU] Boucle for dans vijeo designer
Posté : 05 oct. 2016, 12:12
par geronimo
Bonjour,
Je souhaiterais faire une boucle For dans un script dans vijeo designer sauf que je n'arrive pas à avoir la bonne syntaxe.
Si quelqu'un en a déjà fait......
Voici la boucle que je voudrais faire en programmation unity
Code : Tout sélectionner
For Index := 0 to 8 do
If DOUT[index].Manu = True Then
bitManu := True;
End_if;
End_for;
Merci beaucoup
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 13:29
par Cyril93
Salut,
c'est du java les script vijeo designer
Code : Tout sélectionner
boolean Condition=false, Execution=false;
for (int i = 0; i < 9; i++)
{
if (Condition == true)
{
Execution = true;
}
}
Sur ce cas d'utilisation on peux enlever les accolades.
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 13:40
par geronimo
Merci de la réponse.
Mais dans l'exemple la condition tester n'est pas indexer par rapport a l'index de la boucle?
Voila mon exemple
DOUT_O8_15 est un type de donnée utilisateur, ou dedans j'ai un tableau de avec les variables ManualMode
J'ai l'impression que l'on peut pas faire de boucle sur un type de donnée utilisateur.
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 13:52
par Cyril93
là le tableau n'est pas une structure, parce que c'est un exemple
Code : Tout sélectionner
boolean Condition[] = new boolean[10];
boolean Execution=false;
for (int i = 0; i < 9; i++)
{
if (Condition[i] == true)
Execution = true;
}
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 14:05
par geronimo
sa marche aussi si ma variable est de type "donnée utilisateur"???
voir message précédent
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 14:29
par Cyril93
J'ai rien pour tester mais essai ça :
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 14:58
par geronimo
Merci de ton aide j'ai fais ce script là dans une taché périodique de l'application et il n'a pas d'erreur
Code : Tout sélectionner
boolean Execution=false;
for (int i = 0; i < 9; i++)
{
if (DOUT_O5_0_7[i].ManualMode.getIntValue() == 1)
Execution = true;
Affiche_ManualMode.write(Execution);
}
Cependant au démarrage du terminal j'ai ce message
je laisse tomber la boucle dans le terminal.
je vais le faire à l'ancienne dans l'automate et renvoyé un bit de résultat dans le terminal.
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 15:12
par steph68
ArrayIndexOutOfBoundsException
signifie "indice en dehors des limites du tableau"
ton tableau fait combien d'éléments ? (d'après le nom "DOUT_O5_0_7
" je dirai 8)
pourquoi fais-tu alors une boucle de 9 itérations (0 à 8 inclus) ???
Code : Tout sélectionner
boolean flag = false;
for (int i = 0; i <= 7; ++i)
{
if (DOUT_O5_0_7[i].ManualMode.getIntValue())
{
flag = true;
break; // pas la peine d'aller plus loin ...
}
}
Affiche_ManualMode.write(flag);
@+
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 15:21
par Cyril93
pareil que steph68, tu as même l'indice après les deux points donc tout a sauté quand i == 8

Tu peux enlever la variable Execution c'était pour l'exemple.
Re: Boucle for dans vijeo designer
Posté : 05 oct. 2016, 15:26
par geronimo
Effectivement c'est sa qui posait probleme
Merci