DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Evénements Windows
  • Exemple de temporisation
  • Conseils
  • Note
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Permet de :
  • effectuer une temporisation,
  • rendre la main à Windows,
  • rendre la main à Windows et au WLangage.
iPhone/iPad Attention : La fonction Multitâche NE DOIT PAS être utilisée pour remplir des champs de type Zone répétée, Liste ou Zone multiligne. Dans ce cas, utilisez un timer : à chaque appel du timer, un élément est ajouté dans le champ.
Exemple
// Boucle de calcul
POUR i = 1 À 10000
ProcédureCalcul(i)
// On rend la main au système pour afficher les résultats
Multitâche()
FIN
// Attendre 1 seconde
Multitâche(100)
Syntaxe
Multitâche([<Temporisation>])
<Temporisation> : Entier optionnel ou Durée optionnelle
  • Effectuer une temporisation : <Temporisation> = entier positif.
    L'exécution de l'application est suspendue durant <Temporisation> 100ème de seconde sans rendre la main au système. Les clics de souris et les actions sur les touches du clavier sont ignorés par l'application. Par exemple, la fenêtre peut être déplacée mais pas agrandie.
    Les traitements optionnels des champs sont toujours exécutés.
    Remarque : Si <Temporisation> = 1, l'application rend directement la main à Windows, sans attendre 1 centième de seconde.
    AndroidWidget AndroidJava La modification de la taille de la fenêtre n'est pas ignorée. Par contre, les clics souris et les actions sur les touches du clavier sont ignorés.
    AndroidWidget Android Les valeurs positives ne sont pas prises en compte sous Android. Si le paramètre de la fonction est positif, il sera traité comme un entier négatif.
    PHP Sous PHP, les valeurs de la <Temporisation> sont arrondies à la seconde supérieure. Par exemple, si <Temporisation> est égal à 125, la temporisation réelle sera de 2 secondes.
    LinuxiPhone/iPad Les valeurs positives ne sont pas autorisées.
  • Rendre la main au système : <Temporisation> = 0 ou n'est pas indiqué.
    Le système finit les traitements en cours, rend la main à l'application WINDEV, WEBDEV ou WINDEV Mobile, puis prend en compte les clics de souris et les actions sur les touches du clavier.
    AndroidWidget AndroidJava Si <Temporisation> = 0, la fonction Multitâche est sans effet.
    iPhone/iPad Sous iPhone/iPad, la valeur 0 n'est pas autorisée.
  • Rendre la main à Windows et au WLangage : <Temporisation> = entier négatif.
    L'exécution de l'application est suspendue durant <Temporisation> 100ème de seconde. D'autres traitements peuvent être exécutés durant cette période de temps (ré-affichage ou exécution d'un code de clic par exemple). Les interactions avec l'utilisateur (clics de souris, frappe au clavier, ...) sont gérées normalement.
    Remarque : Si <Temporisation> = -1, l'application rend directement la main à Windows, sans attendre 1 centième de seconde.
Remarque : Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de centièmes de seconde,
  • une variable de type Durée,
  • l'indication directe de la durée (par exemple '1s' ou '10cs').
PHP Ce paramètre peut uniquement correspondre à un entier.
Remarques
WINDEV

Exemple de temporisation

L'utilisateur appuie sur la touche Echap avant ou pendant l'appel de la fonction Multitâche :
  • si <Temporisation> est positif : La touche Echap n'est pas prise en compte.
  • si <Temporisation> est égal à 0 : La touche Echap est prise en compte à la fin des traitements WINDEV en cours.
  • si <Temporisation> est négatif : La touche Echap est prise en compte immédiatement.

Conseils

  • Pour rafraîchir l'affichage, il est conseillé d'utiliser la fonction MultitâcheRepeint.
  • Les événements et timers lancés avant l'exécution de la fonction Multitâche sont gérés lors de la temporisation.
  • Dans une application de type Service, la fonction Multitâche doit être remplacée par la fonction ServiceTemporise.

Note

Il est conseillé d'utiliser la fonction ThreadPause à la place des fonctions Multitâche ou Temporisation lorsque plusieurs threads sont utilisés (y compris pour le thread principal de l'application) si la temporisation n'a pas besoin de traiter les actions de l'utilisateur.
Classification Métier / UI : Code UI
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Ne pas utiliser avec un timer
Ne pas utiliser dans une fonction lancée par timersys().
Relance la fonction (même avec le timer désactivé)
Idem fonction temporisation()
roland
10 nov. 2018

Dernière modification : 02/02/2023

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