OPALE - 10.0 - Utilisation

Fonctions de chaines

De MappingDoc
Révision datée du 18 mars 2019 à 12:38 par imported>Admin (Page créée avec « ==UpperLower== La fonction 1UpperLower permet de convertir une chaine de caractères initialement en majuscules ou minuscules dans un format où la première lettre de cha... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

UpperLower

La fonction 1UpperLower permet de convertir une chaine de caractères initialement en majuscules ou minuscules dans un format où la première lettre de chaque mot sera une majuscule puis les autres des minuscules (proper case).

Syntaxe : TABLE.NAME = 1UpperLower ( TABLE.NAME )

Par exemple, CLIENT devient Client après conversion.

FindSubstring

L'opérateur FindSubstring permet de rechercher une sous-chaine de caractères dans une chaine de caractères donnée.

DB.FIND_POS = FindSubstring ( DB.STRING , DB.STRINGTOFIND , DB.STARTPOS )

Les positions sont "zéro base index", c'est-à-dire que le premier caractère est en position 0, le deuxième en position 1, etc.

  • DB.FIND_POS : Position de la chaine trouvée. Si aucune chaine n'est trouvée, cette valeur sera égale à -1.
  • DB.STARTPOS : Position de départ dans la chaine de caractères à partir de laquelle vous commencez à chercher.
  • DB.STRING : Chaine d'origine.
  • DB.STRINGTOFIND : Chaine recherchée.

Format

La nouvelle fonction Format accepte un champ en paramètre et le formate suivant le format passé en paramètre.

DB.str = Format ( DB.Total_Invoice , "Total reformaté ==> %010.5f" )
DB.str2 = Format ( DB.Total_TAX , "Total TTC 0 ==> %020.10f" )
% [Flags][Length][.precision]type

Type:

  • %d => Position du champ Entier
  • %f => Position du champ Float
  • %s => Position du champ String

Flags:

  • - => Alignement à gauche (à droite par défaut)
  • + => Permet d'ajouter un signe + devant les entiers (par défaut seuls les nombres négatifs ont un préfixe)
  • 0 => Si la longueur a un préfixe de 0, les blancs sont remplacés par des zéros

Length:

Permet de spécifier la longueur de champ. Non tronquée si la longueur est trop petite.

.Precision:

Spécifie le nombre de décimales affichées après la virgule

Exemple : DB.int = 123456 DB.str = Format ( DB.int , " mon entier reformaté %010d" ) Integer length 10. Blancs remplacés par des zéros DB.str => mon entier reformaté 0000123456 DB.fl = 1344.05 DB.str = Format ( DB.fl , "==> %020.10f" ) Float avec 10 décimales et longueur totale de 20 caractères DB.str => ==> 000001344.0500000000 DB.str = Format ( “test” , " %-15s" ) DB.str => “test “


Remarque :

La fonction Format n'est pas compatible avec les caractères Unicode.