| 
		 
		
			
				 
   	 | 
    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.