PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Qu'est-ce que l'UNICODE
  • Gestion de l'UNICODE
  • Conversions implicites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Qu'est-ce que l'UNICODE
L'UNICODE est un système de codage spécifiant un nombre unique pour chaque caractère. Ce codage est réalisé sur 16 bits. Ce nombre est lisible quelle que soit la plateforme, le logiciel et la langue utilisée.
L'UNICODE peut prendre en compte tous les systèmes d'écriture de la planète.
La gestion de l'Unicode est prise en compte :
  • pour la gestion des chaînes de caractères
  • pour la gestion des fichiers de données
  • pour la gestion des champs affichant des données provenant de chaînes de caractères ou de fichiers de données.
Gestion de l'UNICODE
Pour gérer l'UNICODE, WINDEV propose :
  • un choix global du format des chaînes en exécution dans la description de la configuration de projet.
    Pour modifier la gestion des chaînes de caractères dans la configuration courante :
    1. Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Configuration de projet", cliquez sur "Configuration courante".
    2. Dans la fenêtre qui s'affiche, sélectionnez l'onglet "Unicode" et choisissez le mode voulu : Utiliser des chaînes ANSI en exécution ou Utiliser des chaînes UNICODE en exécution.
  • le type Chaîne UNICODE.
  • des fonctions de conversion :
    Ces fonctions permettent de réaliser des conversions Ansi vers Unicode et Unicode vers Ansi. Lors de la manipulation de chaînes de caractères, ces conversions sont automatiquement réalisées (voir paragraphe suivant).
    AnsiVersUnicodeConvertit :
    • une chaîne de caractères au format ANSI (Windows) en une chaîne de caractères au format UNICODE.
    • un buffer contenant une chaîne de caractères au format ANSI (Windows) en un buffer contenant une chaîne de caractères au format UNICODE.
    ChaîneVersUTF8Convertit une chaîne ANSI ou UNICODE au format UTF8.
    UnicodeVersAnsiConvertit :
    • une chaîne de caractères au format UNICODE en une chaîne de caractères au format ANSI (Windows).
    • un buffer contenant une chaîne de caractères au format UNICODE en un buffer contenant une chaîne de caractères au format ANSI (Windows).
    UTF8VersChaîneConvertit une chaîne au format UTF8 en une chaîne ANSI ou une chaîne UNICODE.
  • l'adaptation des fonctions de manipulation des chaînes de caractères :
    ChaîneCompareCompare caractère par caractère deux chaînes :
    • selon l'ordre des caractères ASCII.
    • selon l'ordre lexicographique.
    ChaîneFormateFormate une chaîne de caractères selon les options choisies.
    ChaîneOccurrenceCalcule :
    • le nombre d'occurrences d'une chaîne de caractères spécifique (en respectant les critères de recherche) dans une autre chaîne de caractères.
    • le nombre d'occurrences d'un ensemble de chaînes présentes dans un tableau.
    ComplèteRenvoie une chaîne de caractères spécifique de taille déterminée.
    ComplèteRepAjoute, si nécessaire, le caractère "\" à la fin d'une chaîne de caractères.
    DroiteExtrait la partie droite (c'est-à-dire les derniers caractères) d'une chaîne de caractères ou d'un buffer.
    ExtraitChaînePermet de :
    • extraire une sous-chaîne d'une chaîne de caractères en fonction d'un séparateur de chaîne donné.
    • effectuer un parcours de sous-chaînes dans une chaîne de caractères en fonction d'un séparateur de chaîne donné.
    GaucheExtrait la partie gauche (c'est-à-dire les premiers caractères) d'une chaîne de caractères ou d'un buffer.
    InverseRenvoie pour chaque caractère d'une chaîne de caractères le complément à 255.
    MilieuExtrait :
    • soit une sous-chaîne d'une chaîne à partir d'une position donnée.
    • soit une portion d'un buffer à partir d'une position donnée.
    PositionRecherche la position d'une chaîne de caractères dans une autre chaîne de caractères.
    PositionOccurrenceRecherche la Xème position d'une chaîne de caractères dans une chaîne de caractères.
    RemplaceRemplace toutes les occurrences d'un mot présent dans une chaîne par un autre mot.
    RépèteConcatène N répétitions d'une même chaîne de caractères ou d'un même buffer.
    SansAccentTransforme les caractères accentués d'une chaîne de caractères en caractères non accentués.
    SansEspaceRenvoie une chaîne de caractères sans les espaces :
    • situés à gauche et à droite.
    • situés à l'intérieur de la chaîne.
    TailleRenvoie :
    • la taille d'une chaîne de caractères, c'est-à-dire le nombre de caractères composant la chaîne de caractères (y compris les caractères espace et 0 binaire).
    • la taille d'un buffer, c'est-à-dire le nombre d'octets composant le buffer.
    TypeVarIdentifie le type d'une expression, d'une variable (lors d'un appel de procédure par exemple) ou d'un champ.
    ValRenvoie la valeur numérique d'une chaîne de caractères.
  • l'adaptation des opérateurs de manipulation des chaînes de caractères :
  • l'adaptation des opérateurs de parcours des chaînes de caractères :
  • l'adaptation des fonctions de manipulation des fichiers texte :
    fEcritÉcrit une chaîne de caractères dans un fichier externe (format ANSI ou UNICODE).
    fEcritLigneÉcrit une ligne dans un fichier texte (au format ANSI ou UNICODE).
    fLitLit un bloc d'octets (bloc de caractères) dans un fichier externe (ANSI ou UNICODE).
    fLitLigneLit une ligne dans un fichier externe (au format ANSI ou UNICODE).
    fOuvreOuvre un fichier externe de type ANSI ou Unicode pour le manipuler par programmation.

Conversions implicites

À partir de la version 12, les conversions réalisées entre des chaînes de caractères ANSI et des chaînes de caractères UNICODE sont implicites. Ces conversions sont effectuées en utilisant l'alphabet courant (défini si nécessaire avec la fonction ChangeAlphabet).
A partir de la version 15, les chaînes de caractères UNICODE sont converties automatiquement lors de l'affectation dans une rubrique HFSQL de l'un des types suivants : booléen, entier (toutes tailles, avec ou sans signe), monétaire, numérique ou réel.
Quelques exemples d'utilisation :
// Avec les fonctions de conversion
ResU est une chaîne UNICODE = AnsiVersUnicode("Test d'une chaîne")
// Conversion implicite
ResU est une chaîne UNICODE = "Test d'une chaîne"
Res est une chaîne
ResU est une chaîne UNICODE
// Avec les fonctions de conversion
ResU = AnsiVersUnicode(Res)
Res = UnicodeVersAnsi(ResU)
// Conversion implicite
ResU = Res
Res = ResU
Res est une chaîne
ResU est une chaîne UNICODE
// Avec les fonctions de conversion
SI ResU <> AnsiVersUnicode("") ALORS ...
SI ResU <> AnsiVersUnicode(Res) ALORS ...
// Conversion implicite
SI ResU <> "" ALORS ...
SI ResU <> Res ALORS ...
nFic est un entier = fOuvre("E:\temp\Unicode.txt", foLecture + foUnicode)
ResU est une chaîne UNICODE
ResU = fLitLigne(nFic)
TANTQUE ResU <> EOT
Trace(ResU)
ResU = fLitLigne(nFic)
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire