PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Types de chaînes de caractères
  • Cas particulier
  • Chaîne Fixe et chaîne ASCIIZ
  • Traitement des chaînes fixes
  • Notes
  • Valeur par défaut
  • Passer une chaîne de caractères en paramètre à une procédure
  • Utiliser le caractère guillemet dans une chaîne de caractères
  • Comparaison des différents types chaîne disponibles dans WINDEV et dans WINDEV Mobile
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Types de chaînes de caractères
Le WLangage propose différents types de chaînes de caractères.
1. Les types les plus courants sont les suivants :
  • Caractère
Caractère codé sur 1 octet.
Caractère codé sur 1, 2 ou 4 octets selon le mode de gestion des chaînes de caractères et la plateforme d'exécution.
  • Sous Windows :
    • en mode Ansi, un caractère est codé sur 1 octet,
    • en mode Unicode, un caractère est codé sur 2 octets.
  • Sous Linux :
    • en mode Ansi, un caractère est codé sur 1 octet,
    • en mode Unicode, un caractère est codé sur 4 octets.
  • Sous iOS, en Unicode, un caractère est codé sur 4 octets.
Lorsque un caractère est vide, sa valeur correspond à Caract(0).
PHP Lorsque un caractère est vide, sa valeur correspond à chaîne vide.
Versions 17 et supérieures
WINDEVWEBDEV - Code Serveur Remarque :
  • Si la configuration courante utilise les chaînes ANSI en exécution, les variables de type Caractère seront des caractères ANSI (fonctionnement par défaut).
  • Si la configuration courante utilise les chaînes Unicode en exécution, les variables de type Caractère seront des caractères Unicode.
Rappel : Pour modifier la gestion des chaînes de caractères dans la configuration courante :
  1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
  3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode".
Nouveauté 17
WINDEVWEBDEV - Code Serveur Remarque :
  • Si la configuration courante utilise les chaînes ANSI en exécution, les variables de type Caractère seront des caractères ANSI (fonctionnement par défaut).
  • Si la configuration courante utilise les chaînes Unicode en exécution, les variables de type Caractère seront des caractères Unicode.
Rappel : Pour modifier la gestion des chaînes de caractères dans la configuration courante :
  1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
  3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode".
WINDEVWEBDEV - Code Serveur Remarque :
  • Si la configuration courante utilise les chaînes ANSI en exécution, les variables de type Caractère seront des caractères ANSI (fonctionnement par défaut).
  • Si la configuration courante utilise les chaînes Unicode en exécution, les variables de type Caractère seront des caractères Unicode.
Rappel : Pour modifier la gestion des chaînes de caractères dans la configuration courante :
  1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
  3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode".
WEBDEV - Code NavigateurAndroidWidget AndroidUniversal Windows 10 AppJava Le type Caractère n'est pas supporté. Il est remplacé par le type Chaîne.
  • Versions 17 et supérieures
    Chaîne Ansi
    Nouveauté 17
    Chaîne Ansi
    Chaîne Ansi
Chaîne de taille dynamique contenant uniquement des caractères au format ANSI.
Ce format est notamment nécessaire pour manipuler :
  • les fichiers XML
  • les fichiers RTF
  • les fichiers PDF
  • les fonctions utilisant le format UTF8, ...
Windows Mobile Remarques :
  • Les chaînes de type Ansi sont utilisables uniquement si l'option "Mode UNICODE en mode test et sur l'appareil mobile" est cochée.
  • Pour modifier le mode de gestion des chaînes de caractères dans la configuration courante :
    1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
    2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
    3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode". Il est alors possible de cocher ou non l'option "Mode UNICODE en mode test et sur l'appareil mobile".
      Remarque : Avant la version 17, pour manipuler des chaînes au format Ansi, il était nécessaire d'utiliser des variables de type Buffer.
  • Chaîne Unicode
Chaîne de taille dynamique contenant uniquement des caractères au format UNICODE.
WINDEVWEBDEV - Code Serveur Avant la version 17 ou dans une configuration utilisant des chaînes Ansi en exécution, ce type de chaîne de caractères peut être renvoyé par la fonction AnsiVersUnicode ou par une des fonctions de manipulation des chaînes Unicode.
Pour plus de détails, consultez Gestion de l'Unicode.
Versions 17 et supérieures
WINDEVWEBDEV - Code Serveur Ce type de chaîne de caractères est utilisé par défaut si la configuration courante utilise les chaînes Unicode en exécution.
Nouveauté 17
WINDEVWEBDEV - Code Serveur Ce type de chaîne de caractères est utilisé par défaut si la configuration courante utilise les chaînes Unicode en exécution.
WINDEVWEBDEV - Code Serveur Ce type de chaîne de caractères est utilisé par défaut si la configuration courante utilise les chaînes Unicode en exécution.
Windows Mobile Ce type de chaîne de caractères est équivalent au type Chaîne.
WEBDEV - Code NavigateurAndroidWidget AndroidUniversal Windows 10 AppJava Ce type de chaîne de caractères n'est pas supporté. Il est remplacé par le type Chaîne.
PHP Ce type de chaîne de caractères n'est pas géré.
  • Chaîne
Chaîne de taille dynamique.

Le type "chaîne" est propre au WLangage. Avec ce type, il n'est pas nécessaire de déclarer la longueur de la chaîne. Celle-ci peut varier de façon libre lors de l'utilisation de la variable.
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurJavaPHP Ce type de chaîne de caractères est au format ANSI.
Versions 17 et supérieures
WINDEVWEBDEV - Code Serveur Remarque :
  • Si la configuration courante utilise les chaînes ANSI en exécution, les variables de type Chaîne seront des chaînes ANSI (fonctionnement par défaut).
  • Si la configuration courante utilise les chaînes Unicode en exécution, les variables de type Chaîne seront des chaînes Unicode.
Rappel : Pour modifier la gestion des chaînes de caractères dans la configuration courante :
  1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
  3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode".
Nouveauté 17
WINDEVWEBDEV - Code Serveur Remarque :
  • Si la configuration courante utilise les chaînes ANSI en exécution, les variables de type Chaîne seront des chaînes ANSI (fonctionnement par défaut).
  • Si la configuration courante utilise les chaînes Unicode en exécution, les variables de type Chaîne seront des chaînes Unicode.
Rappel : Pour modifier la gestion des chaînes de caractères dans la configuration courante :
  1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
  3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode".
WINDEVWEBDEV - Code Serveur Remarque :
  • Si la configuration courante utilise les chaînes ANSI en exécution, les variables de type Chaîne seront des chaînes ANSI (fonctionnement par défaut).
  • Si la configuration courante utilise les chaînes Unicode en exécution, les variables de type Chaîne seront des chaînes Unicode.
Rappel : Pour modifier la gestion des chaînes de caractères dans la configuration courante :
  1. Affichez la fenêtre de description du projet (option "Projet .. Description du projet"). Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Projet", cliquez sur le bouton "Description de la configuration courante".
  3. Dans la fenêtre qui s'affiche, affichez l'onglet "Unicode".
WEBDEV - Code NavigateurAndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile Ce type de chaîne de caractères est au format Unicode.
  • Buffer
Zone mémoire binaire. Permet d'écrire un code portable entre WINDEV et WINDEV Mobile en ce qui concerne la manipulation des données brutes. Pour plus de détails, consultez le type "Buffer".
WEBDEV - Code NavigateurUniversal Windows 10 App Le type Buffer n'est pas supporté.
2. D'autres types de chaînes de caractères peuvent également être utilisés :
  • Chaîne sur
Chaîne de taille fixée, terminée par un 0 binaire (identique au langage C). La taille spécifiée correspond au nombre maximum de caractères de la chaîne.
Ce type de chaîne de caractères permet de créer un code compatible WINDEV / WINDEV Mobile lors de l'appel d'API existantes sur les deux plateformes.
WINDEVWEBDEV - Code Serveur Ce type de chaîne de caractères est au format ANSI.
Windows Mobile Ce type de chaîne de caractères est au format Unicode.
  • Chaîne ASCIIZ sur
Chaîne terminée par un 0 binaire (identique au langage C).
La longueur d'une chaîne ASCIIZ est limitée à environ 2 Go. La taille à donner à la chaîne ASCIIZ doit être égale à la taille de la chaîne plus 1 (pour le zéro binaire).
Windows Mobile Ce type de chaîne de caractères n'est pas disponible. Il est conseillé d'utiliser le type Chaîne sur.
WEBDEV - Code NavigateurAndroidWidget AndroidUniversal Windows 10 AppJava Le type Chaîne ASCIIZ n'est pas supporté. Il est remplacé par le type Chaîne.
  • Chaîne fixe sur
Chaîne de taille fixe.
La longueur d'une chaîne fixe est limitée à environ 2 Go. La chaîne de caractères est complétée :
  • avec 0 si la variable n'est pas encore affectée.
  • avec des espaces si nécessaire si la variable est affectée (elle est semblable au type "string" du Basic).
Windows Mobile Ce type de chaîne de caractères n'est pas disponible. Il est conseillé d'utiliser le type Chaîne sur.
WEBDEV - Code NavigateurAndroidUniversal Windows 10 AppJava Le type Chaîne fixe n'est pas supporté. Il est remplacé par le type Chaîne.
  • Chaîne pascal sur
Chaîne précédée d'un octet précisant la longueur (identique au langage Pascal). Cet octet n'est pas accessible. Par exemple chaine[1] représente le premier caractère de la chaîne et non pas sa longueur.
La longueur d'une chaîne Pascal est limitée à 255 caractères maximum. La taille à donner à la chaîne Pascal doit être égale à la taille de la chaîne.
Windows Mobile Ce type de chaîne de caractères n'est pas disponible. Il est conseillé d'utiliser le type Chaîne sur.
WEBDEV - Code NavigateurAndroidWidget AndroidUniversal Windows 10 AppJava Le type Chaîne Pascal n'est pas supporté. Il est remplacé par le type Chaîne.
  • Chaîne Unicode sur
Chaîne de taille fixée contenant uniquement des caractères au format UNICODE.
Windows Mobile Ce type de chaîne de caractères est équivalent au type Chaîne sur.
WEBDEV - Code NavigateurAndroidWidget AndroidUniversal Windows 10 AppJava Ce type de chaîne de caractères n'est pas supporté. Il est remplacé par le type Chaîne.
PHP Ce type de chaîne de caractères n'est pas géré.
Remarques :
  • Le type "Chaîne sur" doit être utilisé pour envoyer des paramètres en entrée / sortie à une API Windows.
  • Tous les types avancés (différents du type "Chaîne") sont disponibles pour compatibilité avec les autres langages de programmation (Turbo Pascal Windows, C, Visual Basic Windows, ...) ou pour recevoir le résultat d'une API Windows.
  • WINDEV Mobile et WINDEV ne proposent pas les mêmes types de chaînes de caractères. Pour plus de détails sur les différents types de chaînes de caractères proposées, consultez le paragraphe Notes.
Cas particulier
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsPHPCode Utilisateur (MCU)

Chaîne Fixe et chaîne ASCIIZ

  • Lors de la déclaration d'une chaîne ASCIIZ ou d'une chaîne fixe, la mémoire nécessaire est immédiatement allouée. Il est donc nécessaire d'éviter d'utiliser des chaînes de trop grande taille.
  • La chaîne fixe est complétée par des espaces. L'initialisation et l'affectation d'une chaîne de grande taille (plusieurs centaines de kilo octets) peuvent être relativement longues.
WINDEVWEBDEV - Code NavigateurWindowsAndroidWidget AndroidUniversal Windows 10 AppJava

Traitement des chaînes fixes

Les chaînes fixes ne sont pas disponibles en Java. Elles sont remplacées en exécution par le type Chaîne.
Il est cependant possible d'utiliser la fonction Complète sur une variable de type Chaîne :
MaChaîne est une chaîne
MaChaîne = Complète("Test", 10)
// Equivalent à
// MaChaîne est une chaîne fixe sur 10 caractères
// MaChaîne = "Test"
Notes

Valeur par défaut

  • Une variable de type "Chaîne" ou "Chaîne sur" déclarée et non initialisée correspond à une chaîne vide ("").
  • Une variable de type "Buffer" déclarée et non initialisée est vide.
  • Une variable de type "Buffer sur" déclarée et non initialisée est remplie avec des 0.

Passer une chaîne de caractères en paramètre à une procédure

Il est possible de passer une variable de type "Chaîne" en paramètre à une procédure.
Attention : Si la variable a une taille fixée, il faut supprimer les espaces. Par exemple :
MaChaîne est une chaîne
MaChaîne = "WINDEV est formidable"
// Suppression des espaces dans MaChaîne
MaChaîne = SansEspace(MaChaîne)
ComptageLettre(MaChaîne)
// ComptageLettre est une procédure

Utiliser le caractère guillemet dans une chaîne de caractères

Pour utiliser le caractère guillemet dans une chaîne de caractères, il est nécessaire de le doubler.
Par exemple :
MaChaîne est une chaîne
MaChaîne = "L'option ""Conditions générales"" doit être cochée"
Info(MaChaîne)
// Affiche : L'option "Conditions générales" doit être cochée
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsWindows MobileCode Utilisateur (MCU)

Comparaison des différents types chaîne disponibles dans WINDEV et dans WINDEV Mobile

WINDEV / WEBDEV
Format de la chaîne
WINDEV Mobile
Format de la chaîne
ChaîneANSIUnicode
CaractèreANSIUnicode
Chaîne ASCIIZ surChaîne ANSI de N caractèresnon disponible
Chaîne fixe surChaîne ANSI de N caractèresnon disponible
Chaîne Pascal surChaîne ANSI de N caractèresnon disponible
Chaîne UnicodeUnicodeUnicode
BufferBinaireBinaire
Chaîne surChaîne ANSI de N caractèresChaîne Unicode de N caractères
Chaîne Unicode surChaîne Unicode de N caractèresChaîne Unicode de N caractères
Buffer surMémo binaire de N octetsMémo binaire de N octets
Liste des exemples associés :
Divers types de chaînes Exemples unitaires (WINDEV) : Divers types de chaînes
[ + ] Utilisation des différents types de chaînes disponibles avec WINDEV.
Les spécificités de chaque type sont détaillées.
Types utilisés :
- Chaîne "standard"
- Chaîne UNICODE
- Chaîne fixe
- Chaîne Pascal
- Chaîne ASCIIZ
- Type Buffer
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire