pictogram Auteur: Patrick Biker
Date: 18 mars 2006
Maj : 21 Mars 2015

Des exemples d'utilisation des fonctions du WLangage

Rien de tel qu'un exemple pour comprendre une fonction de WLangage. Dans cette section, vous trouverez des exemples simples.

Des exemples évolués, où la fonction est utilisée en contexte, sont également disponible sur ce site.

Aller à la page des exemples évolués

AnsiVersOem (en anglais AnsiToOem)

Res est une chaîne
ChaîneAConvertir est une chaîne = "L'été est déjà là"
Res = AnsiVersOem (ChaîneAConvertir)


Début de la page

AnsiVersUnicode (en anglais AnsiToUnicode)

MonBufferUnicode est un buffer
// Conversion du buffer MonBufferAnsi
// contenant une chaîne de caractères au format ANSI
// en un buffer contenant une chaîne de
// caractères au format UNICODE
MonBufferUnicode = AnsiVersUnicode (MonBufferAnsi)


Début de la page

AnsiVersUnicode (en anglais AnsiToUnicode)

MaChaîneUnicode est une chaîne UNICODE
MaChaîneUnicode = AnsiVersUnicode ("Le développement facile", AlphabetGrec )


Début de la page

Asc (en anglais Asc)

CodeASCII = Asc ("A")    // Retourne 65
CodeASCII = Asc ("Barbier")   // Retourne 66


Début de la page

Caract (en anglais Charact)

CaractASCII = Caract (49)    // Retourne "1"
CaractASCII = Caract (87)    // Retourne "W"


Début de la page

ChaineCompare (en anglais StringCompare)

MaChaîne1 est une chaîne = "Le développement facile"
MaChaîne2 est une chaîne = "Le développement simple"
Résultat est un entier = ChaîneCompare (MaChaîne1, MaChaîne2)
// Résultat = -1 : le caractère 'f' est inférieur au caractère 's'


Début de la page

ChaineConstruit (en anglais StringBuild)

MaChaîne1 est une chaîne
MaChaîne1 = "Le fichier %1 ne peut pas être ouvert par " + ...
             "l'utilisateur %2. Le fichier %1 n'est pas accessible."
Résultat est une chaîne = ChaîneConstruit (MaChaîne1, "Exemple", "Tintin")
// Résultat contient : "Le fichier Exemple ne peut pas être
// ouvert par Tintin, Le fichier Exemple n'est pas accessible."


Début de la page

ChaineFormate (en anglais StringFormat)

MaChaîne1 est une chaîne = "Le développement facile"
MaChaîne1 = ChaîneFormate (MaChaîne1, ccMajuscule )
// MaChaîne1 contient "LE DÉVELOPPEMENT FACILE"


Début de la page

ChaineOccurrence (en anglais StringCount)

Res = ChaîneOccurrence ("anastasia", "a")         // Renvoie 4
Res = ChaîneOccurrence ("toto titi tito", "to")   // Renvoie 3
Res = ChaîneOccurrence ("grille pain", "X")       // Renvoie 0
Res = ChaîneOccurrence ("Le merle est dans le chêne", "le") // renvoie 2
Res = ChaîneOccurrence ("Le merle est dans le chêne" , ...
                  "le", MotComplet ) // renvoie 1
Res = ChaîneOccurrence ("Le merle est dans le chêne", ...
                  "le", SansCasse ) // renvoie 3
Res = ChaîneOccurrence ("Le merle est dans le chêne", ...
                  "le", SansCasse + MotComplet ) // renvoie 2


Début de la page

ChaineRecupere (en anglais StringRetrieve)

// La DLL "MaDLL32.dll" renvoie une adresse sur laquelle
// est stockée une chaîne ASCIIZ
ChargeDLL("MaDLL32.dll")
nAdrChaîneASCIIZ est un entier = AppelDLL32("MaDLL32.dll", ...
                    "RenvoieAdresseChaîne")
sContenuChaine est une chaîne = ChaîneRécupère (nAdrChaîneASCIIZ, ...
                    crAdresseASCIIZ )
DéchargeDLL("MaDLL32.dll")
Info(sContenuChaine)


Début de la page

Complete (en anglais Complete)

Complete ("Alain", 8)        // Renvoie "Alain   "
Complete ("Alain", 8, "A")   // Renvoie "AlainAAA"
Complete ("Alexandre", 4)    // Renvoie "Alex"


Début de la page

CompleteRep (en anglais CompleteDir)

Res = ComplèteRep (CheminFichier) + "Document.Doc"
Res = ComplèteRep ("c:\temp")           // Renvoie "c:\temp\"
Res = ComplèteRep ("c:\temp\")          // Renvoie "c:\temp\"
Res = ComplèteRep ("\CCS\\Rep2\user\")  // Renvoie "\CCS\\Rep2\user\"
Res = ComplèteRep (" /root/file ")      // Renvoie "/root/file\"
Res = ComplèteRep ("")                  // Renvoie ""


Début de la page

CompleteRep (en anglais CompleteDir)

Res = ComplèteRep (CheminFichier) + "Document.txt"
Res = ComplèteRep ("\temp")      // Renvoie "\temp\"
Res = ComplèteRep ("\temp\")     // Renvoie "\temp\"
Res = ComplèteRep ("")           // Renvoie ""


Début de la page

Compresse (en anglais Compress)

// Compresse puis décompresse une chaîne
Comp est un buffer = Compresse ("Chaîne à compresser")
Info(Décompresse(Comp))


Début de la page

Crypte (en anglais Crypt)

// Cryptage d'une chaîne
Res = Crypte ("Le numéro de mon compte en Suisse est 74538290", "MotDePasse")


Début de la page

Decompresse (en anglais Uncompress)

// Compresse puis décompresse une chaîne
Comp est un buffer = Compresse("Chaîne à compresser")
Info( Décompresse (Comp))


Début de la page

Decrypte (en anglais Uncrypt)

// Cryptage d'une chaîne
ResCrypte = Crypte("Le numéro de mon compte en Suisse est 74538290", "MotDePasse")
...
Res = Décrypte (ResCrypte, "MotDePasse")


Début de la page

Droite (en anglais Right)

// Extraction de caractères
Droite ("Le coucou", 6)   // Renvoie "coucou"
Droite ("ABC", 50)   // Renvoie "ABC"
Droite (" AZELMA")   // Renvoie "AZELMA"

MaChaîne
est une chaîne = "Le développement facile"
Droite (MaChaîne , 6) // Renvoie "facile"


Début de la page

Droite (en anglais Right)

// Extraction d'octets
MonBuffer est un buffer = "Le développement facile"
Droite (MonBuffer, 6)  // Renvoie "facile"


Début de la page

Droite (en anglais Right)

// Extraction d'octets
MonBuffer est un buffer = "Le développement facile"
Droite (MonBuffer, 12)   // Renvoie "facile"


Début de la page

ExtraitChaine (en anglais ExtractString)

Pays est une chaîne = "France, Italie, Allemagne, Espagne"
ExtraitChaîne (Pays, 1, ", ")   // Renvoie "France"
ExtraitChaîne ( Pays , 2, ", ")   // Renvoie "Italie"
ExtraitChaîne ( Pays , 3, ", ")   // Renvoie "Allemagne"
ExtraitChaîne ( Pays , 4, ", ")   // Renvoie "Espagne"
ExtraitChaîne ( Pays , 5, ", ")   // Renvoie EOT


Début de la page

ExtraitChaine (en anglais ExtractString)

// Parcours de toutes les sous-chaînes
Pays est une chaîne = "France, Italie, Allemagne, Espagne"
SousChaîne est une chaîne = ExtraitChaîne ( Pays , rangPremier , ", ")
TANTQUE SousChaîne <> EOT
  Trace(SousChaîne) // Renvoie "France", "Italie", "Allemagne", "Espagne"
  SousChaîne = ExtraitChaîne (Pays, rangSuivant , ", " )
FIN


Début de la page

Gauche (en anglais Left)

Gauche ("Le coucou", 6)   // Renvoie "Le cou"
Gauche ("ABC", 50)        // Renvoie "ABC"
Gauche ("AZELMA ")        // Renvoie "AZELMA"

MaChaîne est une chaîne = "Développez facilement"
Gauche (MaChaîne, 10)   // Renvoie "Développez"


Début de la page

Gauche (en anglais Left)

// Extraction d'octets
MonBuffer est un buffer = "Développez facilement"
Gauche (MonBuffer, 10)   // Renvoie "Développez"


Début de la page

Gauche (en anglais Left)

// Extraction d'octets
MonBuffer est un buffer = "Développez facilement"
Gauche (MonBuffer, 20)   // Renvoie "Développez"


Début de la page

Inverse (en anglais Reverse)

Saisie2 = Inverse (Saisie1)
// Si le champ Saisie1 contient TEST, le champ Saisie2 contiendra «º¬«


Début de la page

Majuscule (en anglais Upper)

Majuscule ("abcd")   // Renvoie "ABCD"
Majuscule ("pépère")  // Renvoie "PEPERE"
Majuscule ("ça !")   // Renvoie "ÇA !"


Début de la page

Milieu (en anglais Middle)

// 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"

MaChaîne
est une chaîne = "Le développement facile"
Milieu (MaChaîne, 4, 13)   // Renvoie "développement"


Début de la page

Milieu (en anglais Middle)

// Extraction d'octets
MonBuffer est un buffer = "Le développement facile"
Milieu (MonBuffer, 4, 13) // Renvoie "développement"


Début de la page

Milieu (en anglais Middle)

// Extraction d'octets
MonBuffer est un buffer = "Le développement facile"
Milieu (MonBuffer, 8, 26)   // Renvoie "développement"


Début de la page

Minuscule (en anglais Lower)

Minuscule ("ABCD")             // Renvoie "abcd"
Minuscule ("ÇA !")             // Renvoie "ça !"
Minuscule ("Pierre et Paul")   // Renvoie "pierre et paul"


Début de la page

NumeriqueVersChaine (en anglais NumToString)

NumériqueVersChaîne (123)     // Renvoie "123"
NumériqueVersChaîne (1.23)     // Renvoie "1.23"
NumériqueVersChaîne (12345.5, "+10.2f") // Renvoie " +12345.50"
NumériqueVersChaîne (12345.5, "-+10.2f") // Renvoie "+12345.50 "
NumériqueVersChaîne (12345.5, "+010.2f") // Renvoie "+012345.50"
NumériqueVersChaîne (12345.5, "010.2f") // Renvoie "0012345.50"

NumériqueVersChaîne
(12345.5, "10.2fS")
// Renvoie " 12 345.50" (le séparateur des milliers est un " ")

NumériqueVersChaîne
(12345.5, "10,2fS")
// Renvoie " 12 345,50" (le séparateur décimal est une ",")


Début de la page

OemVersAnsi (en anglais OemToAnsi)

Ch est une chaîne
Ch = Caract(130) + "t" + Caract(130)  // "été" en OEM
Info( OemVersAnsi (Ch))
// Affiche "été" en ANSI dans la fenêtre d'information Windows


Début de la page

Phonetique (en anglais Phonetic)

// Comparaison de deux chaînes de caractères
Phonétique ("TRAIT") = Phonétique ("très")


Début de la page

Position (en anglais Position)

MaChaîne = "Ils ont des chapeaux ronds"
n = Position (MaChaîne, "des", 1, DepuisDébut )         // Renvoie 9
n = Position (MaChaîne, "XXX")                         // Renvoie 0
n = Position (MaChaîne, "l", 0, DepuisFin )             // Renvoie 2
n = Position (MaChaîne, "e", 11)                       // Renvoie 17
n = Position (MaChaîne, "o", Taille(MaChaîne), DepuisFin )    // Renvoie 23
n = Position (MaChaîne, "o", n-1, DepuisFin )                 // Renvoie 5
n = Position (MaChaîne, "o", n-1, DepuisFin )                 // Renvoie 0


Début de la page

PositionOccurrence (en anglais PositionOccurrence)

n = PositionOccurrence ("Une chaîne d'exemple", "d",1) // Renvoie 12
n = PositionOccurrence ("Une chaîne d'exemple", "zen",1) // Renvoie 0
n = PositionOccurrence ("Une chaîne d'exemple", "e",1) // Renvoie 3
n = PositionOccurrence ("Une chaîne d'exemple", "e", 2) // Renvoie 10
// Recherche du 3ème "e" en partant de la fin :
// la position est donnée en partant du début
n = PositionOccurrence ("Une chaîne d'exemple", "e", 3, DepuisFin )
// Renvoie 14


Début de la page

PositionOccurrence (en anglais PositionOccurrence)

//Parcours des positions de toutes les lettres "e"
MaChaîne est une chaîne = "Une chaîne d'exemple"
MaPosition est un entier = PositionOccurrence(MaChaîne,"e", RangPremier )
TANTQUE MaPosition <> 0
    Trace(MaPosition) // Renvoie 3, 10, 14, 16, 20
    MaPosition = PositionOccurrence(MaChaîne,"e", RangSuivant )
FIN


Début de la page

Remplace (en anglais Replace)

ChaîneInitiale est une chaîne = "Abracadabra !"
ChaîneRemplacée est une chaîne = Remplace (ChaîneInitiale, "a", "o")
Info(ChaîneRemplacée) // Affiche "Abrocodobro !"


Début de la page

Repete (en anglais RepeatString)

Res = Répète ("x", 4)     // Renvoie "xxxx"
Res = Répète ("Boby", 2)  // Renvoie "BobyBoby"
Res = Répète ("", 2)      // Renvoie ""
Res = Répète ("", 0)      // Renvoie ""


Début de la page

SansAccent (en anglais NoAccent)

SansAccent ("pépère")    // Renvoie "pepere"
SansAccent ("où ça ?")   // Renvoie "ou ca ?"
SansAccent ("")          // Renvoie ""


Début de la page

SansEspace (en anglais NoSpace)

SansEspace ("   3.75 Euros   ")   // Renvoie "3.75 Euros"


Début de la page

Taille (en anglais Length)

Taille ("Quasimodo")      // Renvoie 9
Taille (" Quasimodo ")    // Renvoie 11
Taille ("A" + Caract(0))  // Renvoie 2
Taille ("")               // Renvoie 0
Taille (" ")              // Renvoie 1


Début de la page

Taille (en anglais Length)

MonBuffer est un buffer = "Le développement facile"
Taille (MonBuffer)       // Renvoie 23


Début de la page

Taille (en anglais Length)

MonBuffer est un buffer = "Le développement facile"
Taille (MonBuffer)        // Renvoie 46


Début de la page

UnicodeVersAnsi (en anglais UnicodeToAnsi)

MonBufferAnsi est un buffer
// Conversion du buffer MonBufferUnicode
// contenant une chaîne de caractères au format UNICODE
// en un buffer contenant une chaîne de
// caractères au format ANSI
MonBufferAnsi = UnicodeVersAnsi (MonBufferUnicode)


Début de la page

UnicodeVersAnsi (en anglais UnicodeToAnsi)

aChaîneUnicode est une chaîne UNICODE
MaChaîneAnsi est une chaîne
NumFic est un entier = fOuvre("c:\Temp\MonTexte.txt", foLecture + foUnicode )
SI NumFic <> -1 ALORS
    MaChaîneUnicode = fLitLigne(NumFic)
FIN
MaChaîneAnsi = UnicodeVersAnsi (MaChaîneUnicode, alphabetGrec )


Début de la page

UnicodeVersAnsi (en anglais UnicodeToAnsi)

MonBufferAnsi est un buffer
// Conversion de la chaîne de caractères
// MaChaîne au format UNICODE
// en un buffer contenant une chaîne de
// caractères au format ANSI
MonBufferAnsi = UnicodeVersAnsi (MaChaîne)


Début de la page

URLDecode (en anglais URLDecode)

// Décode une URL
URLDécodée est une chaîne = URLDécode ("http://mon%20site/mon%20etat")
// URLDécodée contient : http://monsite/monetat


Début de la page

URLEncode (en anglais URLEncode)

 // Encode une URL
URLEncodée = URLEncode ("http://mon site/ma page")

// URLEncodée contient maintenant http://mon%20site/ma%20page
// Les deux espaces ont été transformés en %20


Début de la page

Val (en anglais Val)

Val ("143")    // Renvoie 143
Val ("1.67")   // Renvoie 1,67
Val ("ABC")    // Renvoie 0
Val ("3plus2"// Renvoie 3
Val ("7,5")    // Renvoie 7
Val ("1D2")    // Renvoie 100
Val ("2.5e-2") // Renvoie 0.025


Début de la page

VerifieExpressionReguliere (en anglais MatchRegularExpression)

// Vérification d'une adresse e-mail
SI VérifieExpressionRégulière (MonEmail,...
       "[-.a-z0-9]+[@][-.a-z0-9]+[.][a-z]{2,4}") ALORS
    // "[-.a-z0-9]+" : chaîne de 0 ou de plusieurs caractères
    // Cette chaîne peut contenir les lettres 'a' à 'z',
    // les chiffres '1' à '9', et les symboles '-' et '.'

    // "[a-z]{2,4}" : chaîne contenant 2,3 ou 4 caractères
    // Cette chaîne peut contenir les lettres 'a' à 'z'
    Info("L'adresse e-mail : "+MonEmail+" est correcte.")
FIN


Début de la page

VerifieExpressionReguliere (en anglais MatchRegularExpression)

// Extraction des différents éléments d'une date au format
// JJ/MM/AAAA (par exemple : 28/03/2003)
MaDate est une chaîne = "28/03/2003"
MonJour, MonMois, MonAnnée sont des chaînes
SI VérifieExpressionRégulière (MaDate, ...
           "([0-9]+)/([0-9]+)/([0-9]+)", MonJour, ...
           MonMois, MonAnnée) ALORS
    Trace(MonJour, MonMois, MonAnnée)
SINON
    Erreur("La date n'est pas au bon format")
FIN


Début de la page