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

ActiveXEvenement (en anglais ActiveXEvent)

-- Code d'initialisation du champ ActiveX LecteurAVI
ActiveXEvénement ("Ma_procédure", LecteurAVI, "OnClick")

-- Procédure Ma_Procédure
PROCEDURE Ma_Procédure(x, y)
Info("Coordonnées du clic : " + x + "," + y)


Début de la page

AscenseurAffiche (en anglais ScrollbarShow)

AscenseurAffiche (Liste0, ascHorz , Faux )


Début de la page

BulleActive (en anglais ShowToolTip)

EtatPrécédent = BulleActive ( Faux ) // EtatPrécédent vaut Vrai


Début de la page

BulleActive (en anglais ShowToolTip)

EtatPrécédent = BulleActive ( Vrai ) // EtatPrécédent vaut Faux


Début de la page

BulleCouleur (en anglais ToolTipColor)

BulleCouleur ( iJauneBulle , iBleuFoncé )


Début de la page

ChampAlias (en anglais FieldAlias)

// Identification de la liaison fichier du champ "NomClient"
ResLiaisonFichier = ChampAlias (NomClient)


Début de la page

ChampCauseEntreeSortie (en anglais ControlInOutReason)

-- Code d'entrée du champ SAISIE1
// Si entrée dans le champ par le clavier
SI ChampCauseEntréeSortie () = causeClavier ALORS
   // Le champ est remis à vide
  
MoiMême = ""
FIN


Début de la page

ChampClone (en anglais ControlClone)

// Crée un nouveau champ libellé dans un état
ChampClone (Libellé,"Clone",10.8,10.8)


Début de la page

ChampClone (en anglais ControlClone)

// Crée un nouveau champ de saisie
ChampClone (Adresse,"Clone",10,10)


Début de la page

ChampContextuel (en anglais PopupField)

--Code de l'option menu
// Identification du champ sur lequel le menu contextuel a été ouvert
ResChamp = ChampContextuel ()


Début de la page

ChampEnCours (en anglais CurrentField)

// Identification du champ en cours de saisie
ResChamp = ChampEnCours ()


Début de la page

ChampErreur (en anglais FieldError)

// Personnalisation de l'erreur ceDépassement
ChampErreur( ceDépassement , "Le masque du champ est trop petit")


Début de la page

ChampExiste (en anglais FieldExist)

// Test de l'existence du champ "SaisieNom"
ResExiste = ChampExiste ("SaisieNom")


Début de la page

ChampPrecedent (en anglais PreviousField)

// Code d'entrée SAISIE_VILLE
// si on vient du champ "SAISIE_CP"
SI ChampPrécédent () = SAISIE_CP ALORS
   // on rempli le nom en fonction du CP
  
SAISIE_VILLE = CPVersVille(SAISIE_CP)
FIN


Début de la page

ChampPremier (en anglais FieldFirst)

// Reprendre la saisie sur le premier champ
RAZ()
RepriseSaisie( ChampPremier ())


Début de la page

ChampSansEspace (en anglais FieldNoSpace)

// Suppression des espaces à droite des champs
ResSuppEspace = ChampSansEspace ( Vrai )


Début de la page

ChampSuivant (en anglais NextField)

// Identification du champ suivant en saisie
ResChamp = ChampSuivant ()


Début de la page

ChampSupprime (en anglais ControlDelete)

// Suppression d'un ensemble de champs
i est un entier
POUR i = 1 à 10
   s est une chaîne = "SAISIE_"+i
   SI ChampExiste(s) ALORS
      ChampSupprime (s)
   FIN
FIN


Début de la page

ChampSurvol (en anglais ControlOver)

// Afficher le nom des champs survolés dans une trace
-- Code d'initialisation de la fenêtre
// prise en compte de la fenêtre et des champs de la fenêtre

Evénement("survol","*.*",512)

-- Procédure "Survol"
PROCEDURE survol()
Trace( ChampSurvol ())


Début de la page

ChargeParamètre (en anglais LoadParameter)

// Sauvegarde
SauveParamètre("LOGIN", Saisie1)

// Restauration
Saisie1 = ChargeParamètre("LOGIN","")


Début de la page

ColonneEnCours (en anglais CurrentColumn)

// Identification de la colonne en cours de saisie
ResChamp = ColonneEnCours ()


Début de la page

CouleurSelection (en anglais SelectionColor)

// Change la couleur du bandeau de sélection de la table "Commande"
CouleurSélection (Commande, RVB(255,200,200), iVertClair )


Début de la page

DonneFocus (en anglais SetFocus)

// Donne le focus au champ Saisie1
DonneFocus (Saisie1)
// Donne le focus au champ Saisie1 de la page "Inscription"
DonneFocus (Inscription.Saisie1)


Début de la page

EcranPremier (en anglais ScreenFirst)

// Met la saisie sur le champ "SAISIE2"
EcranPremier ("Saisie2")


Début de la page

EcranPremier (en anglais ScreenFirst)

// Change le prochain champ en saisie
SI ChampEnCours ()<> "Nom" ALORS EcranPremier ( "Nom" )


Début de la page

EnumereChamp (en anglais EnumControl)

// Nom du champ 7 de la fenêtre "FenêtreSaisie"
ResChamp = EnumèreChamp (FenêtreSaisie, 7)


Début de la page

EnumereChamp (en anglais EnumControl)

// Remplir une combo avec la liste des champs de la fenêtre
i est un entier = 1
ResChamp est une chaîne
ResChamp = EnumèreChamp (FenêtreSaisie, i)
TANTQUE ResChamp<>""
   i++
   ListeAjoute(ListeChamp, ResChamp)
   ResChamp = EnumèreChamp (FenêtreSaisie, i)
FIN


Début de la page

EnumereChamp (en anglais EnumControl)

// Nom du champ 7 de la page "MaPage"
ResChamp = EnuméreChamp (MaPage, 7)


Début de la page

EnumereChamp (en anglais EnumControl)

// Remplir une combo avec la liste des champs de la page
i est un entier = 1
ResChamp est une chaîne
ResChamp = EnumèreChamp (MaPage, i)
TANTQUE ResChamp<>""
   i++
   ListeAjoute(ListeChamp, ResChamp)
   ResChamp = EnumèreChamp (MaPage, i)
FIN


Début de la page

HTMLNavigue (en anglais HTMLNavigate)

// Code du bouton Suivant
HTMLNavigue (HTML1, htmlSuivant )


Début de la page

HTMLNavigue (en anglais HTMLNavigate)

// Code du bouton Précédent
HTMLNavigue (HTML1, htmlPrécédent )


Début de la page

IndiceEnCours (en anglais CurrentSubscript)

NumLigne est un entier = IndiceEnCours ()
Trace("Numéro de la ligne en cours: " + NumLigne)


Début de la page

IndiceSuivant (en anglais NextSubscript)

-- Code de sortie de ligne
NumLigne est un entier = IndiceSuivant ()
Trace("Numéro de la ligne suivante : " + NumLigne)


Début de la page

InitParametre (en anglais InitParameter)

// Paramétrage des valeurs persistantes
// dans un fichier .XML qui dépend de l'utilisateur

InitParamètre ( paramXLM , "Param_" + USER +".xml")


Début de la page

InitParametre (en anglais InitParameter)

// Paramétrage des valeurs persistantes
// dans une clé de la base de registre avec un n° de version
InitParamètre ( paramRegistre , ProjetInfo( piRegistre )+"\3.51")
// autre possibilité :
InitParamètre ( paramRegistre , "KEY_CURRENT_USER\Software\DDSoft\DDTool\3.51")


Début de la page

InitParametre (en anglais InitParameter)

// Paramétrage des valeurs persistantes
// Paramétrage par une chaîne
S est une chaîne
S = fChargeTexte("MonFichier.xml")
InitParamètre ( paramChaine ,S)


Début de la page

Occurrence (en anglais Count)

// Si le champ INTITULE existe, alors je l'initialise
SI Occurrence(INTITULE)>0 ALORS
  AFF_INTITULE()
FIN


Début de la page

OngletDuChamp (en anglais ControlTab)

// Saisie1 est sur le champ Onglet1
Info( OngletDuChamp ("Saisie1")       // Renvoie "Onglet1"


Début de la page

OuvreMenuContextuel (en anglais OpenPopupMenu)

-- Code de clic du bouton Action
OuvreMenuContextuel (MenuChoixDate)


Début de la page

ParentObjet (en anglais ParentObject)

// Colonne1 est dans Table1, qui est dans la fenêtre Fenêtre2,
// qui est fille de Fenêtre1

ParentObjet ("Colonne1")    // Renvoie "Table1"
ParentObjet ("Table1")      // Renvoie "Fenêtre2"
ParentObjet ("Fenêtre2")    // Renvoie "Fenêtre1"
ParentObjet ("Fenêtre1")    // Renvoie ""


Début de la page

ParentObjet (en anglais ParentObject)

// Colonne1 est dans Table1, qui est dans la page Page1
ParentObjet ("Colonne1")    // Renvoie "Table1"
ParentObjet ("Table1")      // Renvoie "Page1"


Début de la page

RAZ (en anglais Reset)

// Ajout d'un client
EcranVersFichier()
HAjoute(Client)
// Ré-initialisation des champs afin de saisir un nouveau client
RAZ ( Vrai )


Début de la page

RAZ (en anglais Reset)

-- Code de clic navigateur du bouton ANNULER
//Annule les saisies effectuées dans le formulaire
RAZ ()


Début de la page

RepriseSaisie (en anglais ReturnToCapture)

// Si l'utilisateur n'a rien saisi dans le champ
SI Saisie1 = "" ALORS
    // On affiche un message et on remet l'utilisateur en saisie sur le champ
    Erreur("Saisissez une valeur")
    RepriseSaisie ("Saisie")
FIN


Début de la page

RepriseSaisie (en anglais ReturnToCapture)

// Positionner le curseur de souris
// dans une cellule de table (multi sélection ou non)
Nom_De_Table = Indice_de_ligne)
RepriseSaisie (Nom_De_Table.Nom_de_colonne)


Début de la page

RTFAjoute (en anglais RTFAdd)

// Ajoute le contenu de SAISIE2 à la fin de SAISIE1
RTFAjoute (SAISIE1, SAISIE2)


Début de la page

RTFAjoute (en anglais RTFAdd)

// Ajoute "(c) 2003 MaSociete" à la fin de SAISIE1.
RTFAjoute (SAISIE1, "(c) 2003 MaSociété")


Début de la page

RTFCharge (en anglais RTFLoad)

// Charge le fichier "C:\Temp\FichierExemple.RTF" dans le champ Saisie1
RTFCharge (Saisie1, "C:\Temp\FichierExemple.RTF")


Début de la page

RTFInsere (en anglais RTFInsert)

// Insère au début de SAISIE1 le contenu du champ SAISIE2
RTFInsère (SAISIE1, SAISIE2, 1)

// Insère la date du jour à la position du curseur
RTFInsère (SAISIE1, DateSys(), SAISIE1..Curseur)


Début de la page

RTFRecherche (en anglais RTFSearch)

nRes est un entier
sChaine est une chaîne = Saisie1
// ****** UTILISE UNE VARIABLE DE TYPE CHAÎNE
// Recherche des mots contenant le mot RTF
nRes = RTFRecherche ( sChaine , "RTF" , rtfMotComplet ,1)
TANTQUE nRes <> 0
    nRes = RTFRecherche ( sChaine , "RTF" , rtfMotComplet ,nRes+3)
FIN


Début de la page

RTFRecherche (en anglais RTFSearch)

// Passer tous les "WinDev" d'un texte en rouge souligné
I est un entier
I = RTFRecherche (Saisie1, "WinDev")
TANTQUE I>0
    // Passage en rouge
    RTFSélection(Saisie1, rtfCouleur , iRougeClair , I, 6)
    // Passage en souligné
    RTFSélection(Saisie1, rtfSouligné , Vrai , I, 6)
    // recherche du suivant "WinDev"
    I = RTFRecherche (Saisie1, "WinDev", rtfSensibleCasse , I+1)
FIN


Début de la page

RTFRemplace (en anglais RTFReplace)

n est un entier
sMotRecherché est une chaîne = "Le développement facile"
sMotRemplace est une chaîne = "Développez facile !"
// Recherche non sensible à la casse à partir de la fin de la sélection
n = RTFRecherche(Saisie1, sMotRecherché)
// Si le mot a été trouvé
SI n <> 0 ALORS
   // Remplace le mot trouvé
  
RTFRemplace (Saisie1, sMotRemplace, n, n + Taille(sMotRecherché))
FIN


Début de la page

RTFRemplace (en anglais RTFReplace)

nRes est un entier
sChaine est une chaine = Saisie1
// Recherche du mot complet RTF
nRes = RTFRecherche(sChaine,"RTF", rtfMotComplet + rtfSensibleCasse )
TANTQUE nRes <> 0
   // On remplace les mots trouvés par "WD7"
   sChaine = RTFRemplace(sChaine,"WD7",nRes,nRes+3)
   nRes = RTFRecherche(sChaine,"RTF", rtfMotComplet + rtfSensibleCasse ,nRes+3)
FIN


Début de la page

RTFSelection (en anglais RTFSelection)

// Passe la sélection en Arial
RTFSélection (Saisie1, rtfNomPolice ,"Arial")
// Passe la sélection police de taille 12
RTFSélection (Saisie1, rtfTaillePolice , 12)
// Passe la sélection en gras
RTFSélection (Saisie1, rtfGras , Vrai )
// Modifie la couleur de la sélection
RTFSélection (Saisie1, rtfCouleur , RVB(134,345,255))
// Si la sélection contient des valeurs diverses
SI RTFSélection (Saisie1, rtfGras ) = "" ALORS
    // On passe tout en gras
    RTFSélection (Saisie1, rtfGras , Vrai )
SINON
    // On inverse l'état
    bGras est un booléen = RTFSélection (Saisie1, rtfGras )
    RTFSélection (Saisie1, rtfGras , PAS bGras)
FIN


Début de la page

RTFSelection (en anglais RTFSelection)

// Passer tous les "WinDev" d'un texte en rouge souligné
I est une entier
I = RTFRecherche(Saisie1, "WinDev")
TANTQUE I>0
    // Passage en rouge
    RTFSélection (Saisie1, rtfCouleur , iRougeClair , I, 6)
    // Passage en souligné
    RTFSélection (Saisie1, rtfSouligné , Vrai , I, 6)
    // recherche du suivant "WinDev"
    I = RTFRecherche(Saisie1, "WinDev", rtfSensibleCasse , I+1)
FIN


Début de la page

RTFVersTexte (en anglais RTFToText)

// Si le champ de saisie RTF est vide
s est une chaîne = RTFVersTexte (Saisie1)
SI s = "" ALORS
   Info("Saisie vide")
FIN


Début de la page

SauveParametre (en anglais SaveParameter)

// Sauvegarde
SauveParamètre("LOGIN", Saisie1)

// Restauration
Saisie1 = ChargeParamètre("LOGIN","")

 


Début de la page

SupprimeParametre (en anglais DeleteParameter)

// Suppression d'un paramètre
SupprimeParamètre ("Fenêtre1\Saisie1")

// Suppression des paramètres de la fenêtre "Fen1"
SupprimeParamètre (Fen1)
// équivalent à : SupprimeParamètre(Fen1..CheminComplet) 


Début de la page

TexteHauteur (en anglais TextHeight)

Res est un réel = TexteHauteur ("Saisie1", "Bonjour")


Début de la page

TexteLargeur (en anglais TextWidth)

Res est un réel = TexteLargeur ("Saisie1", "Bonjour")


Début de la page