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

SectionCritiqueDebut (en anglais CriticalSectionStart)

SectionCritiqueDébut ()
// Deux threads ne pourront pas exécuter ce code en même temps
...
SectionCritiqueFin()


Début de la page

SectionCritiqueFin (en anglais CriticalSectionEnd)

SectionCritiqueDébut()
// Deux threads ne pourront pas exécuter ce code en même temps
...
SectionCritiqueFin ()


Début de la page

SemaphoreCree (en anglais SemaphoreCreate)

// Création d'un sémaphore
SémaphoreCrée ( "MonSémaphore" ,3)


Début de la page

ThreadAttend (en anglais ThreadWait)

ThreadExécute ( "Thread1" , threadNormal , ProcédureThread )
...
ThreadAttend ( "Thread1" , 300 )


Début de la page

ThreadAttendSignal (en anglais ThreadWaitSignal)

ThreadAttendSignal ()


Début de la page

ThreadEnvoieSignal (en anglais ThreadSendSignal)

ThreadEnvoieSignal ("Thread2")


Début de la page

ThreadEtat (en anglais ThreadState)

SI ThreadEtat ("Thread1") = ThreadSuspendu ALORS
  ThreadReprend("Thread1")
FIN


Début de la page

ThreadExecute (en anglais ThreadExecute)

ThreadExécute ("Thread1", threadNormal , ProcédureThread)
...
// Appel d'une méthode globale d'une classe
ThreadExécute("Thread2", threadNormal , CClasse::MéthodeGlobale)


Début de la page

ThreadExecute (en anglais ThreadExecute)

// Exécution d'un thread avec passage de paramètres
sDate est une chaîne = DateSys()
// Exécution du thread
ThreadExécute ("THREADNAME", threadNormal ,"pExecReq",sDate)

// Détail de la procedure " pExecReq " qui
// attend une date en paramètre d'une requête
PROCEDURE pExecReq(sDate)
SI HExécuteRequête(Sup_Date, hRequêteDéfaut ,sDate) = Faux  ALORS
    Erreur(HErreurInfo())
SINON
    HLitPremier(Sup_Date)
FIN


Début de la page

ThreadReprend (en anglais ThreadResume)

-- Clic sur le bouton Enregistre
// suspend l'impression en tâche de fond
ThreadSuspend("Impression_fond")
// Enregistrement
...
// Reprise de l'impression
ThreadReprend ("Impression_fond")


Début de la page

ThreadSuspend (en anglais ThreadSuspend)

-- Clic sur le bouton Enregistre
// suspend l'impression en tâche de fond
ThreadSuspend ("Impression_fond")
// Enregistrement
...
// Reprise de l'impression
ThreadReprend("Impression_fond")


Début de la page