Salut peut on ecrire :
tableau_Etat_Relais[i] == true ? un truc : 3 trucs
si oui comment svp ?
ou est on obligé de passé par un if else par exemple .
Salut peut on ecrire :
tableau_Etat_Relais[i] == true ? un truc : 3 trucs
si oui comment svp ?
ou est on obligé de passé par un if else par exemple .
Tout dépend de ce que tu appelles truc.
const char *valeur = tableau_Etat_Relais == true ? "un truc" : "3 trucs";
Par exemple.
Salut Henry ,
par trucs , j ' entends 3 fonctions distinctes , style comme ça :
tableau_Etat_Relais[i] == true ? gestionnaireDeTache.registerAsyncCommand( i, TIMER_V, resetTimer ) :
gestionnaireDeTache.unregisterAsyncCommand(calculPinInverse( i ));
delay(10); // inclure un timer afin d' eviter les courts circuits sur les moteurs electriques au passage de la montee a la descente et inversement
reInitRelaisTable(i , i);
il me semble que non , c ' etait juste pour garder une forme lineaire dans le code , mais je vais mettre a la place :
if (tableau_Etat_Relais[i]) gestionnaireDeTache.registerAsyncCommand( i, TIMER_V, resetTimer ); // Volets , utilise 2 relais , donc pas d ' inversion dans le code elle se fait en changeant de relais et la fonction calculPinInverse + reInitRelaisTable .
else {
gestionnaireDeTache.unregisterAsyncCommand(calculPinInverse( i ));
delay(10); // inclure un timer afin d' eviter les courts circuits sur les moteurs electriques au passage de la montee a la descente et inversement
reInitRelaisTable(i , i);
Oui, cela peut très bien un appel de fonction.
hbachetti:
Tout dépend de ce que tu appelles truc.const char *valeur = tableau_Etat_Relais == true ? "un truc" : "1truc ; 1truc 1truc";
Par exemple.
[/quote]
ca serait plus ca :
* *const char *valeur = tableau_Etat_Relais[i] == true ? "un truc" : "1truc ; 1truc ; 1truc;" ;* *
je sais pas si faut des " ;" mais c' est pour bien faire voir .
il me semble qu on ne peut mettre qu ' une seule intruction genre? 1truc : 1truc ;
mais qu ' on ne peut pas mettre ( ce que je voulais )
* *? 1truc : 1truc 1trucDifferent 1trucDePlus;* *
Je ne vois pas trop ce que tu veux faire.
"1truc ; 1truc ; 1truc;" est une chaîne de caractères, rien de plus.
Qu'elle comporte des points-virgule importe peu.
ce que je voulais vraiment faire c ' est ca :
if (tableau_Etat_Relais[i]) gestionnaireDeTache.registerAsyncCommand( i, TIMER_V, resetTimer );
else {
gestionnaireDeTache.unregisterAsyncCommand(calculPinInverse( i ));
delay(10);
reInitRelaisTable(i , i);
est ce que je peut ( je ne crois pas , mais bon , je ne suis pas vraiment expert en la matiere
)
l ' ecrire comme cela :
tableau_Etat_Relais[i] == true ? gestionnaireDeTache.registerAsyncCommand( i, TIMER_V, resetTimer ) :
gestionnaireDeTache.unregisterAsyncCommand(calculPinInverse( i ));
delay(10);
reInitRelaisTable(i , i);
enfin un truc avec la structure : " ? : "
Forcément que non.
delay(10);
reInitRelaisTable(i , i);
Seront exécutées quelle que soit la condition.
il me semblait bien que ca pouvait pas le faire ![]()
merci , c ' est vrai que dit comme ca , ca parait evident ![]()