FORMAT$

Sommaire


format$permet de formater une expression selon un format particulier.

 

Syntaxe

  format$(expr_c, exp)

 

Paramètres

Elément

Description

Restrictions

expr_c

Expression de type Char contenant  un format valide.

Format adapté au type de l'expression

exp

Expression numérique, alphanumérique ou date.

Aucune.

 

Exemples

   CHFOR   =format$("D:[A Paris, le ]DD[ ]9M[ ]YYYY", date$)
   CHTOTAL =format$("N3Z:12.2[ Francs]", sum(TTC))

 

Description et commentaires

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

Type

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.

OPTION  commune pour tous les types de zones

Code

Signification du code

<

 Cadrage à gauche     ( obsolète )

>

Cadrage à droite     ( obsolète )

=

Centrage     ( obsolète )

c

Affichage du champ en couleur selon la variable pcolor (géré uniquement sur les champs de bloc tableau).

z

Pas d'affichage  - même pas les commentaires - quand la valeur à afficher est nulle.

P

 Zone affichée

X

Saisie masquée

C

Zone complète obligatoire

B

Affichage d'espace à la place des commentaires

G

Beepsi erreur

Exemple :
format$("N:9.2[ Francs]",0)     -> " 0,00 Francs"
format$("Nz:9.2[ Francs]",0)    -> " "

OPTION  pour les zones ALPHANUMERIQUES

Code

Signification du code

A

Obligation de taper les caractères demandés majuscules ou minuscules.

T

Tokenisation (c’est-à-dire reconnaissance des mots clés dans la saisie d’une formule de calcul)

TD

Pas de mots clés autorisés

b

Ajout  de blancs pour compléter la fin du champ.

v

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$("Kv0:20X"," A B C ")    -> "A B C "
format$("Kv1:20X"," A B C ")    -> " A B C"
etc
format$("Kv5:20X"," A B C ")    ->" A B C "
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.

OPTIONS  pour des zones NUMERIQUES

Code

Signification du code

A

Affichage de blancs au lieu du caractère prévu en cas de dépassement de capacité numérique

D

Affichage du signe derrière le nombre.

F

Nombresflottants

Z

Ajout de zéro, à la fin de la partie décimale

+

Nombrespositifs

-

Affichage systématique du signe

*

Complète avec des * devant le nombre

0

Complète avec des 0 devant le nombre

3

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$("N:6.2",1234567.12)    -> "******,**"
Par contre, la partie décimale sera tronquée si elle est trop petite.
Exemple :
format$("N:3.2",123.456)            -> "123,45"

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.

OPTION  pour des zones DATE

Code

Signification du code

Z

Date nulle autorisée

 

chaîne DE FORMATAGE

La chaîne de formatage décrit les caractères utilisés pour afficher la chaîne et les commentaires qui y seront inclus.

Les commentaires

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$("D:[Le ]DD[ du mois de ]MMMMMMMM",date$)         -> "Le 12 du mois de Janvier"

Caractères de la chaîne.

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$("LA1:XXX",OK) est identique à format$("LA1:3X",OK)

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.

Code

Types

Signification du code

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

 

Remarques

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.

 

Erreurs associées

Erreur

Description

ERMODE(10)

Lavaleur de expr_c n'est pas de type Char.

 

Mots-clés associés

MESSNAME - Adxsca - ADXTUL - ADXTUC - ADXTUT


SOMMAIRE

Adonix X3® L4G
Copyright © Adonix 1999 - All rights reserved