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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


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
_________________
@++
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2