FORMAT$ |
format$permet de formater une expression selon un format particulier.
format$ ( expr_c, exp )
Elément | Description | Restrictions |
Expression de type Char contenant un format valide. | Format adapté au type de l'expression | |
Expression numérique, alphanumérique ou date. | Aucune. |
CHFOR = format$ ("D:[A Paris, le ]DD[ ]9M[ ]YYYY", date$)
CHTOTAL = format$ ("N3Z:12.2[ Francs]", sum(TTC))
format$( expr_c, exp ) renvoie l'expression exp formatée suivant le format expr_c.
Le type du résultat est Char.
Un format s'écrit sous forme d'une chaîne de caractères séparés par un ":" selon le schéma suivant :
Type / Options générales / options particulières : chaîne de formatage
Les types possibles sont :
On peut ajouter n options secondaires (n pouvant être nul). Elles dépendent de l'option générale. L'ordre dans lequel on les nomme n'a pas d'importance. Une option inconnue sera ignorée sans provoquer d'erreur.
Cadrage à gauche ( obsolète ) | |
Cadrage à droite ( obsolète ) | |
Centrage ( obsolète ) | |
Affichage du champ en couleur selon la variable pcolor (géré uniquement sur les champs de bloc tableau). | |
Pas d'affichage - même pas les commentaires - quand la valeur à afficher est nulle. | |
Zone affichée | |
Saisie masquée | |
Zone complète obligatoire | |
Affichage d'espace à la place des commentaires | |
Beepsi erreur |
Exemple :
format$
format$
Obligation de taper les caractères demandés majuscules ou minuscules. | |
Tokenisation (c’est-à-dire reconnaissance des mots clés dans la saisie d’une formule de calcul) | |
Pas de mots clés autorisés | |
Ajout de blancs pour compléter la fin du champ. | |
Suppression des blancs. On indique l'option du vireblc à la suite du code v. |
vn (avec n allant de 0 à 5) permet d'appliquer l'option n de la fonction vireblc à la chaîne résultante.
Exemples :
format$
format$
etc
format$
Nota : c'est le seul cas où la longueur de la chaîne résultante est inférieure à celle déterminée par la chaîne de formatage.
Affichage de blancs au lieu du caractère prévu en cas de dépassement de capacité numérique | |
Affichage du signe derrière le nombre. | |
Nombresflottants | |
Ajout de zéro, à la fin de la partie décimale | |
Nombrespositifs | |
Affichage systématique du signe | |
Complète avec des * devant le nombre | |
Complète avec des 0 devant le nombre | |
Séparateur de groupes de 3 chiffres de la partie entière (obsolète) |
Nota : en cas de dépassement de capacité numérique, c'est à dire quand dans la chaîne de formatage, le nombre de chiffres avant le séparateur décimal est trop petit pour le nombre à afficher, aucune erreur n'est provoquée, la chaîne résultante est remplie avec le caractère défini comme étant le "caractère de dépassement de capacité numérique". Celui-ci est déterminé par la variable Adonix [S]Adxsca. C'est le 5ème caractère de cette chaîne. On a vu plus haut que l'option secondaire A permet de changer ce comportement.
Exemple : ( avec mid$([S]Adxsca,5,1) = "*" )
format$
Par contre, la partie décimale sera tronquée si elle est trop petite.
Exemple :
format$
Le séparateur entre groupes de 3 chiffres est le 3ème caractère de [S]Adxsca mais n'est pas utilisé (obsolète).
Le séparateur décimal est le 4ème de cette variable [S]Adxsca.
Date nulle autorisée |
La chaîne de formatage décrit les caractères utilisés pour afficher la chaîne et les commentaires qui y seront inclus.
Ils peuvent être en début de chaîne, en milieu de chaîne ou enfin de chaîne.
Ils se délimitent avec les caractères "[" et "]".
Exemple :
format$
On peut soit donner un caractère par position, soit indiquer le nombre de caractères par un nombre devançant le caractère.
Exemple :
format$
Les codes possibles dépendent du type d'expression à afficher et donc de l'option primaire de formatage. Il y a des codes standards, définis dans Adonix et ceux définis par les variables [S]adxtuc, [S]adxtul, et [S]adxtut. Voilà le tableau des principaux codes Adonix.
X | K | Caractères imprimables quelconques |
# | N | Chiffre (0 à 9). Type par défaut en cas de facteur de répétition suivi d'un "." Par exemple , 12.2 est un nombre de 12 positions et de 2 décimales |
. | N | Position du séparateur décimal en format fixe. |
F | N | Nombreen format flottant. |
A | K | Lettres majuscules (A à Z). conversion automatique sauf si option A. |
a | K | Lettres minuscules (a à z). conversion automatique sauf si option A. |
L | K | Lettres minuscules et majuscules (A à Z, a à z) |
B | K | Lettres majuscules et chiffres (A à Z, 0 à 9) |
b | K | Lettres minuscules et chiffres (a à z, 0 à 9) |
C | K | Lettres majuscules, minuscules et chiffres (A à Z, a à z, 0 à 9) |
H | K | Chiffres hexadécimaux (0 à 9, A à F) |
| K | Espaces |
D | D | Jourd'une date |
M | D | Moisd'une date |
Y | D | Année d'une date |
h | D | Heures |
m | D | Minutes |
s | D | Secondes |
Les codes # et F sont utilisables avec les types K et L à condition que les chaînes à afficher ne contiennent que des chiffres. Sinon, la chaîne résultante ne contiendra que des espaces. C'est d'ailleurs toujours le cas lorsqu' un des caractères à afficher est incompatible avec le format demandé. Exemple :
format$("K:10#","12345.6") -> " "
Pour les chaînes de caractères et les menus locaux, le type "X" est le plus utilisé, puisqu'il ne ménage pas de mauvaises surprises.
Pour les dates, notons que :
Pour les années, les seuls formats acceptables sont 2Y et 4Y.
ERMODE(10) | Lavaleur de expr_c n'est pas de type Char. |
MESSNAME - Adxsca - ADXTUL - ADXTUC - ADXTUT
SOMMAIRE
Adonix X3® L4G |