CTRANS

Sommaire


ctranstransforme les caractères d'une chaîne, codés sur 8 bits, en caractères codéssur 7 bits ou selon une table de conversion.

 

Syntaxe

 

   ctrans( expr_c[ , chaine_i,chaine_o] )

 

Paramètres

 

Elément

Description

Restrictions

expr_c

Expression alphanumérique.

Aucune.

chaine_i

Expression alphanumérique

Aucune

chaine_o

Expression alphanumérique

Aucune

 

Exemples

   # Programme affichant"Suppression des caracteres : a e i o u ..."
    Infboxctrans("Suppressiondes caractères : à è î ô ù ...")

   # Comparaison de 2 chaînes decaractères, en ne tenant pas compte des
# majuscules ni des minuscules.

    If toupper(ctrans(A)) = toupper(ctrans(B))
      Infbox "A égal B"
  Endif
   #  Préparation  à l'affichage   d'un  nom  dans  une zone de masque ne
   #  permettant que des majuscules etdes espaces.
   MAJ = toupper(ctrans([F]VILLE))
   ENTREE =sigma(I=32,64,chr$(I))+sigma(I=91,127,chr$(I))

   # tous les caractéres imprimables,majuscules exceptées
  MAJ =ctrans(MAJ,ENTREE,space$(127)
  # aucun probléme si la chaîne de sortie esttrop longue ...
  [M]VILLE = vireblc(MAJ,5)
# on enléve les blancs en trop
# "23020 Saint-Thomas d'Aquîn s/mer" ->" SAINT THOMAS D AQUIN S MER"

# Même chose mais sans espaces
  [M]VILLE =ctrans(MAJ,ENTREE,"")
   # la même chaîne donnera"SAINTTHOMASDAQUINSMER"

 

Description et commentaires

 

ctransavec un seul argument permet de transformer une chaîne de caractères en unechaîne de même longueur dont tous les caractères sont codés sur 7 bits. Leslettres accentuées (minuscules ou majuscules) sont transformées en lettres nonaccentuées, les caractères non imprimables en espaces et les semi-graphiques en"+", le caractère — en "-", et le caractère | en"!". Les autres caractères ne sont pas modifiés.

ctransavec 3 arguments permet de transformer une chaîne de caractéres en une autrechaîne. Chaque caractére de la chaîne à transformer est recherché dans ladeuxième chaîne - dite d'entrée. S'il n'existe pas il ne sera pas transformé.S'il existe on note son rang dans la chaîne d'entrée et il est remplacé par lecaractére de la troisième chaîne - dîte de sortie se trouvant au même rang. Sison rang est supérieur à la longueur de la chaîne de sortie, il ne seretrouvera pas dans le résultat.
Le résultat est de type Char.

 

Erreurs associées

Erreur

Description

ERMODE(10)

L'argumentn'est pas de type Char.

 

Mots-clés associés

TOUPPER - TOLOWER - CHR$ - ASCII


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved