"evalue" permet d'évaluer une formule contenue dans une chaîne de caractères.
evalue ( chaîne_à_évaluer [, exp_tok] )
Elément | Description | Restrictions |
chaîne_à_évaluer | Expression alphanumérique contenant la formule de calcul à évaluer. | Aucune. |
exp_tok | Réservé | Aucune. |
# 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éeLocal 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ésFORMULE = "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 ERNErrbox "Erreur en calcul :"-errmes$(ERN)EndifEnd # Sous-programme de gestion d'erreur : errn a un sens ici seulementERCALCERN = errn
Resume# concaténation pour une variable multi-dimensionnéeLocal Char WHER(50)(3)WHER(0)="ABREV='Orig' "WHER(1)="And MOT>='A'"Local File AABREV[ABR] where evalue(WHER)...
"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.