L4G >  evalue  

Afficher tout Masquer tout

"evalue" permet d'évaluer une formule contenue dans une chaîne de caractères.

 

Syntaxe

evalue ( chaîne_à_évaluer [, exp_tok] )

 

Paramètres

Elément

Description

Restrictions

chaîne_à_évaluer

Expression alphanumérique contenant la formule de calcul à évaluer.

Aucune.

exp_tok

Réservé

Aucune.

 

Exemples

# Alimentation des champs REP1 et REP2 de la ligne courante du tableau du masque SDH1 par la valeur des champs REP(0) et REP(1) du masque SDH2. 
For I=0 To 1
   Assign ("[M:SDH1]REP"+num$(I+1)+"(nolign-1)") 
      With evalue("[M:SDH2]REP("+num$(I)+")")
Next
# Gestion des erreurs dans l'évaluation d'une chaîne calculée
Local Char FORMULE(100), RESULTAT(100)
Local Integer ERN
 
# En cas d'erreur, aller en ERCALC, où ERN sera mis à jour.
Onerrgo ERCALC
 
# Traduction des mots-clés
FORMULE = "date$$"
ERN = 0
 
# on évalue la formule et on la formatte en chaîne.
# vireblc supprime les espaces superflus.
RESULTAT = vireblc(format$("K:100X", evalue(FORMULE)), 2)
 
# Si ERN est non nul, on est passé par ERCALC
# affichage du message : "Erreur en calcul : caractère illégal"
If ERN
Errbox "Erreur en calcul :"-errmes$(ERN)
Endif
End
 
# Sous-programme de gestion d'erreur : errn a un sens ici seulement
ERCALC
ERN = errn
Resume
# concaténation pour une variable multi-dimensionnée
Local Char WHER(50)(3)
WHER(0)="ABREV='Orig' "
WHER(1)="And MOT>='A'"
Local File AABREV[ABR] where evalue(WHER)
...

 

Description

"evalue" permet d'évaluer le contenu d'une chaîne de caractères contenant une formule de calcul.

Si la variable contenue dans la fonction "evalue" est multi-dimensionnée et de type caractère, les chaînes composants le tableau sont concaténées. C'est une concaténation brute : Il sera parfois nécessaire de préciser un blanc en fin de chaîne.

 

Erreurs associées

Erreur

Description

ERMODE (10) :

  • La formule n'est pas de type Char.
  • Le 2ème argument n'est pas de type numérique.

 

Mots-clés associés

PARSE