View cond.xpx
<html>
<head>
<title>TEST PHC VERSION $phcversion$</title>
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta HTTP-EQUIV="Expires" CONTENT="0">
<!-- Test de commentaire 
	ICI $sqlescapestr$
	-->
</head>
<set NAME="i" EXPR="0">
<!--Déclare i à 0-->
<set NAME="module0" VALUE="#CCCCCC">
<!--Déclare un module de couleur gris-->
<body BGCOLOR="$module[i]$">
<!--Met un fond de couleur module0-->
<a href="ViewFile.xpx?fileName=$phccurrentfile$">Voir le source</a>
<font FACE="Verdana">
<!------------>
<h2>COND TEST</h2>
<!------------>
<form METHOD="get" ACTION="$PATH_INFO$">
	<!--Nom du fichier en cours d'interprétation-->
	<!--PHC, si des informations sont entrées dans le textarea-->
	<textarea NAME="LargeText" ROWS=5 COLS=80><cond EXPR="!$LargeText$">$LargeText$</cond></textarea>
	<br>
	<input TYPE="submit" NAME="bt" VALUE="Valider">
	<!--bouton valider-->
</form>
<set name="num" expr="$phcnull$">
$num$

Trouver un mot qui signifie bonjour en plus populaire:<br>
<br>
<!--si l'aire de texte est remplie-->
<cond EXPR="!$LargeText$">
	COND: LargetText not null<br>
	<cond EXPR="$LargeText$ = salut">
		Réponse = GAGNE<br>
		<else>
		Réponse = $LargeText$ PERDU!!<br>
	</cond>
	<else>
	LargeText is null<br>
</cond>
<br>
<br>

<!--tests de condition OU-->
<set NAME="expr1" EXPR="2*4">
<set NAME="expr2" EXPR="10">
2 * 4 > 7 OR 10 < 4
<cond EXPR=" ($expr1$>7) OR ($expr2$<4)">
	<!--une des deux conditions est vérifiée, ici la 1ere-->
	<b>-> VRAI</b><br>
	<else>
	-> FAUX<br>
</cond>
2 * 4 > 10 OR 3 + 2 > 4
<cond EXPR=" 2 * 4 > 10 OR 3 + 2 > 4">
	<!--idem, une des deux conditions est vérifiée, ici la 2eme-->
	<b>-> VRAI</b><br>
	<else>
	-> FAUX<br>
</cond>
2 * 4 > 10 OR 3 + 2 > 10 OR !$$toto$$
<cond EXPR="2 * 4 > 10 OR 3 + 2 > 10 OR !$toto$">
	-> VRAI<br>
	<else>
	<!--aucune condition n'est vérifiée-->
	<b>-> FAUX</b><br>
</cond>
<!--tests de condition ET-->
2 * 4 > 5 AND 3 + 2 >= 5 AND 3 = 2
<cond EXPR="2 * 4 > 5 AND 3 + 2 >= 5 AND 3 = 2">
	-> VRAI<br>
	<else>
	<!--la dernière condition est fausse donc...-->
	<b>-> FAUX</b><br>
</cond>
<!--tests de condition OU ET-->
2 * 4 > 5 AND 3 + 2 >= 5 OR 3 = 2
<cond EXPR="2 * 4 > 5 AND 3 + 2 >= 5 OR 3 = 2">
	<!--il faut que les deux premières conditions soient vraies, ce qui est le cas-->
	<b>-> VRAI</b><br>
	<else>
	-> FAUX<br>
</cond>
3 = 2 OR 2 * 4 > 7 AND 3 + 2 >= 5 OR 4 = 5
<cond EXPR="3 = 2 OR 2 * 4 > 7 AND 3 + 2 >= 5 OR 4 = 5">
	<b>-> VRAI</b><br>
	<!--les 2eme et 3eme condition sont vérifiées-->
	<else>
	-> FAUX<br>
</cond>
5 < 1 AND 3 > 2 OR 2 * 4 > 5 AND 3 + 2 >= 5
<cond EXPR="5 < 1 AND 3 > 2 OR 2 * 4 > 5 AND 3 + 2 >= 5">
	<!--le 1er bloc AND est faux, mais le 2eme est vrai->vrai-->
	<b>-> VRAI</b><br>
	<else>
	-> FAUX<br>
</cond>
<br>
<h1>TEST Comparaison aproximative</h1>

<debug mode="normal">
<set name="phcdebug" value="1">

<cond expr="'$PATH_INFO$'?='/pageCode/cond.xpx'">
	$PATH_INFO$'?='/pageCode/cond.xpx' : comparaison vraie<br>
</cond>

<cond expr="'test'?='test'">
	'test'?='test' : comparaison vraie<br>
</cond>

<set name="var" value="|4|">
<cond expr="$var$ !?= %|4|%">
	$var$ !?= %|4|% : vrai
</cond>
erreurs liées à la programmation: $phcerr$<br>
</font>
</body>
</html>
	


20240505