|
Découverte d'une syntaxe "interessante" |
|
Utilisateur WDF
Inscrit: 22/03/2005 14:40
De Lyon Rhône France
Post(s): 51
|
Bonjour, en lisant le code d'un exemple Windev 8, je suis tombé sur la syntaxe suivante : CA_MESSAGE = (berreur ? "Terminé avec des erreurs" SINON "Terminé")
J'ai donc fait les simplissimes tests suivants : CA_MESSAGE est une chaîne
berreur est un booléen
berreur = Faux
CA_MESSAGE = (berreur ? "Terminé avec des erreurs" SINON "Terminé")
Trace(CA_MESSAGE)
et CA_MESSAGE est une chaîne
berreur est un booléen
berreur = Vrai
CA_MESSAGE = (berreur ? "Terminé avec des erreurs" SINON "Terminé")
Trace(CA_MESSAGE)
et miracle ça marche !!! Quelqu'un a déjà vu cette syntaxe dans expliquée dans l'aide ? Peut-en déduire un paradigme? -- Cordialement Christophe charron
Contribution le : 03/08/2005 12:59
|
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Citation : Instruction conditionnelle monoligne
Il est également possible d'utiliser la syntaxe suivante :
= ? SINON
Détail de la syntaxe :
Variable à affecter avec le résultat de la condition. Condition à tester.
Valeur affectée au si la condition est Vraie.
Valeur affectée au si la condition est Fausse.
Equivalence :
SI ALORS = SINON = FIN
Remarque : L'expression conditionnelle monoligne peut être utilisée directement dans une expression.
Exemple : Si l'âge est supérieur à soixante, on compte une personne en plus, dans le cas contraire, le nombre de personnes est inchangé.
PersonneAgée = Client.Age>60 ? PersonneAgée +1 SINON PersonneAgée
Contribution le : 03/08/2005 14:03
|
_________________
Mbsl
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Bien que cette syntaxe soit dans l'aide en ligne index 'SI' rubrique 'Instruction SI' je ne l'avais jamais remarqué non plus Cette syntaxe represente l'équivalence de la fonction: = IIF(,,) Existante dans d'autres langages
Contribution le : 03/08/2005 18:22
|
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Effectivement, c'est quelque chose qui avait échappé à nombre d'entre nous. On peut remarquer que cette syntaxe n'est pas exotique et sera donc aisée à reprendre. Merci pour l'info.
Contribution le : 03/08/2005 19:53
|
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Stagiaire WDF
Inscrit: 05/07/2003 18:06
De Lyon (69)
Post(s): 28
|
C'est vrai que c'est une syntaxe très utile
Par contre, ce qui est dommage, c'est que ça ne fait que du renvoi de valeur.
le plus intéressant, cela serait de pouvoir faire aussi: Condition ? Procedure 1 SINON Procedure 2
même si "Procedure n" renvoie une valeur cette syntaxe n'est pas autorisée
Contribution le : 04/08/2005 18:48
|
_________________
@++
|
|
Re: Découverte d'une syntaxe "interessante" |
|
|
Bonsoir,
si P1 est une fonction P2 est une fonction
///////////////////: p1 renvoyer "P1"
p2 renvoyer "P2"
/////////////////
et si on écrit la ligne ci-dessous est ce que celà fonctionne? (je n'ai ni WD8-9)
berreur est booleen = vrai Info(ExécuteTraitement((berreur ? "p1" SINON "p2"),trtProcédure))
Contribution le : 04/08/2005 19:59
|
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour Daniel, Oui cette syntaxe fonctionne... Pour ceux qui ne peuvent pas accéder à cette syntaxe, il est possible de la remplacer par une fonction du style: PROCEDURE IIF(pCondition, pSiVrai, pSiFaux)
SI pCondition ALORS RENVOYER pSiVrai SINON RENVOYER pSiFaux
Ainsi on obtient bErreur est un boolean = Vrai
Info(ExécuteTraitement(IIF(bErreur, "P1", "P2"),trtProcédure))
Contribution le : 05/08/2005 09:36
|
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Stagiaire WDF
Inscrit: 04/11/2003 13:31
De Belgique
Post(s): 42
|
Bonjour,
Je ne comprend pas le besoin de créer une fonction alors Cela existe en standard dans Windev
bErreur est un booleen = Vrai Info(ExécuteTraitement( (bErreur ? "P1" SINON "P2"), trtProcédure) )
Sans traîner une fonction
Cordialement Albert
Contribution le : 13/08/2005 17:49
|
|
|
Re: Découverte d'une syntaxe "interessante" |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour Albert,
Bien sur qu'il n'est pas besoin d'utiliser une procédure pour les heureux possesseurs de version 8 et plus, reste que pour les autres qui programme encore en 5.x et 7.x c'est un moyen des simuler ce procédé.
Contribution le : 14/08/2005 00:28
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.