DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Votre version : XXF240054H

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des chaînes
  • Fonction Milieu et UNICODE
  • Divers
  • Fonctionnement différent en mode GO et en utilisation réelle
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Extrait :
  • 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.
WEBDEV - Code Navigateur Dans cette version, il n'est pas possible d'extraire une portion d'un buffer.
Remarque : Il est possible d'obtenir la même fonctionnalité avec l'opérateur [[]].
Exemple
// Extraction de caractères
Milieu("Eponine", 2, 3)   // Renvoie "pon"
Milieu("Eponine", 2)    // Renvoie "ponine"
Milieu("Eponine", 50)    // Renvoie ""
Milieu("Eponine", 2, 50)   // Renvoie "ponine"
// Equivalent à
// MaChaîne est une chaîne = Eponine
// MaChaîne = MaChaîne[[2,50]]

MaChaîne est une chaîne = "Antananarivo - Madagascar"
Milieu(MaChaîne, 10, 7)   // Renvoie "ivo - M"
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppJavaPHPAjaxCode Utilisateur (MCU)
// Extraction d'octets
MonBuffer est un Buffer = "Antananarivo - Madagascar"
Milieu(MonBuffer, 10, 7) // Renvoie "ivo - M"
Syntaxe

Extraire une sous-chaîne d'une chaîne Masquer les détails

<Résultat> = Milieu(<Chaîne source> , <Position de départ> [, <Longueur>])
<Résultat> : Chaîne de caractères
  • Partie de <Chaîne source>.
  • Chaîne vide ("") si le paramètre <Position de départ> est supérieur à la longueur de <Chaîne Source>.
  • EOT si le paramètre <Position de départ> et/ou le paramètre <Longueur> sont négatifs. Une erreur du WLangage est générée (erreur non fatale). Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Chaîne source> : Chaîne de caractères
Chaîne de caractères contenant la sous-chaîne à extraire. Cette chaîne n'est pas modifiée.
<Position de départ> : Entier
Position du premier caractère à extraire.
Si <Position de départ> est nul, l'extraction commence au début de la chaîne.
<Longueur> : Entier optionnel
Nombre de caractères à extraire.
Si ce paramètre n'est pas précisé ou est supérieur au nombre de caractères restant après la <Position de départ>, la chaîne est renvoyée à partir de la <Position de départ>.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppJavaPHPAjaxCode Utilisateur (MCU)

Extraire une portion d'un buffer Masquer les détails

<Résultat> = Milieu(<Buffer source> , <Position de départ> [, <Taille>])
<Résultat> : Chaîne de caractères
  • Partie de <Buffer source>.
  • Chaîne vide ("") si le paramètre <Position de départ> est supérieur à la longueur de <Buffer Source>.
  • EOT si le paramètre <Position de départ> et/ou le paramètre <Taille> sont négatifs. Une erreur du WLangage est générée (erreur non fatale). Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
  • Buffer invalide si <Buffer source > contient une chaîne de caractères au format UNICODE.
  • Windows Mobile Buffer invalide si <Buffer source > contient une chaîne de caractères au format ANSI.
<Buffer source> : Buffer
Buffer contenant la portion à extraire. Ce buffer n'est pas modifié.
<Position de départ> : Entier
Position du premier octet à extraire.
Si <Position de départ> est nul, l'extraction commence au début du buffer.
<Taille> : Entier optionnel
Nombre d'octets à extraire.
Si ce paramètre n'est pas précisé ou est supérieur au nombre de caractères restant après la <Position de départ>, la chaîne est renvoyée à partir de la <Position de départ>.
Windows Mobile En UNICODE, chaque caractère occupe deux octets de mémoire. Le nombre d'octets correspond donc au double du nombre de caractères.
Remarques

Fonction Milieu et UNICODE

Si la chaîne passée en paramètre est au format ANSI, le résultat sera au format ANSI.
Si la chaîne passée en paramètre est au format UNICODE, le résultat sera au format UNICODE.
Le premier caractère de la chaîne possède l'indice 1.
En UNICODE, chaque caractère occupe deux octets de mémoire. La taille mémoire d'une chaîne UNICODE correspond donc au double du nombre de caractères réellement contenu dans la chaîne.
Remarque : Si le résultat sur une chaîne ANSI est affecté à une chaîne UNICODE (et inversement), la conversion sera implicitement réalisée.
Pour plus de détails, consultez Gestion de l'UNICODE.

Divers

Il est possible d'obtenir la même fonctionnalité avec l'opérateur [[]].
Windows Mobile

Fonctionnement différent en mode GO et en utilisation réelle

En mode GO (simulation sur le poste de développement), lors de l'extraction d'une partie d'un buffer (syntaxe 2), la <Taille> correspond au nombre de caractères à extraire et non au nombre d'octets.
Par exemple, exécution du code suivant :
MonBuffer est un Buffer = "WINDEV est formidable"
Milieu(MonBuffer, 16, 6)
  • en mode GO, ce code retourne "idable".
  • en utilisation réelle, ce code retourne "est".
L'ensemble des différences entre le mode GO (simulateur) et l'utilisation réelle est détaillé dans Différences en mode GO et en utilisation réelle.
Composante : wd240vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/09/2017

Signaler une erreur ou faire une suggestion | Aide en ligne locale