N° | Fonction | Catégorie | Version |
---|---|---|---|
BIS 12 | BiS_FillR | Gestion de Chaînes | 1.0 - Janvier 2007 |
But | Ajoute à la fin d'une chaîne, des caractères de remplissage. |
Prototype | (BiS_FillR Ch_ou_Nbr Nb_Car Type_Car ) |
Arguments | Ch_ou_Nbr - Le texte ou le nombre à formater - Chaîne Entier Réel - Nb_Car - Longueur finale de la chaîne retournée - Entier - Type_Car - Le caractère de remplissage - Chaîne - |
Retours | La chaîne formatée |
Var. globales | Néant |
Description | Ajoute des caractères de remplissage à droite, c'est à dire à la fin, jusqu'à ce
que la longueur désirée de la chaîne de retour soit atteinte. Le premier argument peut être un nombre, entier ou réel, mais sera retourné sous forme de chaîne. |
Notes | En général, le caractère de remplissage sera l'espace " ", mais ce peut être
tout caractère ASCII non spécial. Si l'argument n'est ni une chaîne ni un nombre, la chaîne retournée est une chaîne ne contenant que les caractères de remplissage. Pour ajouter des caractères de remplissage à gauche, utilisez BiS_FillL. |
Exemples | Commande: (setq T1 "Texte formaté") Commande: (BiS_FillR T1 20 " ") retourne "Texte formaté " Commande: (BiS_FillR T1 20 "*") retourne "Texte formaté*******" Commande: (BiS_FillR T1 10 "*") retourne "Texte formaté" Commande: (BiS_FillR 124500 10 "-") retourne "124500----" Commande: (BiS_FillR -123.4560 15 "=") retourne "-123.4560======" Commande: (setq L1 '(50 "abcd" 2.50)) Commande: (BiS_FillR L1 30 "Z") retourne "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" (L1 est une liste et non pas une chaîne ou un nombre - La fonction retourne alors une chaîne de 30 caractères "Z"). |
1- (defun BiS_FillR (*Str_or_Nb *Nbr_Char *Char / Text1) 2- (cond 3- ((= (type *Str_or_Nb) 'INT) 4- (setq Text1 (itoa *Str_or_Nb)) 5- ) 6- ((= (type *Str_or_Nb) 'REAL) 7- (setq Text1 (rtos *Str_or_Nb)) 8- ) 9- ((= (type *Str_or_Nb) 'STR) 10- (setq Text1 *Str_or_Nb) 11- ) 12- (t (setq Text1 *Char)) 13- ) 14- (if (and 15- (= (type *Char) 'STR) 16- (= (type *Nbr_Char) 'INT) 17- ) 18- (while (< (strlen Text1) *Nbr_Char) 19- (setq Text1 (strcat Text1 *Char)) 20- ) 21- ) 22- Text1 23- )
Lignes 3-4 : Si le 1er argument est un nombre entier, stocke en Text1 cet argument transformée en chaîne. Lignes 6-7 : Si le 1er argument est un nombre réel, stocke en Text1 cet argument transformée en chaîne. Lignes 9-10 :Si le 1er argument est une chaîne, stocke en Text1 cette chaîne. Ligne 12 : Dans tous les autres cas, stocke en Text1 un caractère de remplissage *Char Ligne 15 : Si le caractère de remplissage est bien une chaîne Ligne 16 : et si *Nbr_Char (le nombre total de caractères) est un entier, Ligne 18 : Tant que la longueur de Text1 est inférieure à *Nbr_Char, Ligne 19 : Ajoute un caractère de remplissage à la fin de Text1 Ligne 22 : Retourne la nouvelle chaîne.