PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Prise de focus
  • Fonctions EcranPremier, DonneFocus et RepriseSaisie
  • Erreur
  • Fonction RepriseSaisie sur une fenêtre
  • Fonction RepriseSaisie sur une colonne d'un champ Table
  • Fonction RepriseSaisie sur le champ en cours
  • Traitements exécutés lors de l'utilisation de RepriseSaisie
  • Fonction RepriseSaisie et FIN:
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
Arrête le traitement en cours et force la reprise de saisie dans le champ, la fenêtre ou la page spécifié(e).
Exemple
// Si l'utilisateur n'a rien saisi dans le champ
SI SAI_Saisie1 = "" ALORS
// On affiche un message et on remet l'utilisateur en saisie sur le champ
Erreur("Saisissez une valeur")
RepriseSaisie(SAI_Saisie1)
FIN
WINDEVJavaCode Utilisateur (MCU)
// Positionner le curseur de souris dans une cellule d'un champ Table (multisélection ou non)
TABLE_Nom_De_Table = Indice_de_ligne
RepriseSaisie(TABLE_Nom_De_Table.COL_Nom_de_colonne)
Syntaxe
RepriseSaisie([<Nom de l'objet>])
<Nom de l'objet> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du champ, de la colonne ou de la fenêtre qui doit prendre le focus (voir Remarques). Si ce paramètre n'est pas spécifié, le focus est donné au champ en cours.
Pour indiquer un champ appartenant à une fenêtre ouverte différente de la fenêtre en cours, <Nom de l'objet> doit être de la forme <Nom de fenêtre>.<Nom du champ>.
Remarques

Prise de focus

La possession du "focus" est matérialisée de différentes manières :
  • Curseur clignotant (ou "Caret") pour les champs de saisie.
  • Rectangle pointillé pour les autres types de champs (boutons, listes, sélecteurs, ...).

Fonctions EcranPremier, DonneFocus et RepriseSaisie

Ces fonctions ont un comportement très différent :
  • La fonction RepriseSaisie arrête le traitement en cours pour forcer la reprise de la saisie dans le champ indiqué.
  • La fonction EcranPremier décrit quel sera le prochain champ ayant la saisie (lorsque le code en cours s'arrêtera et que la saisie reprendra).
  • La fonction DonneFocus arrête le traitement en cours, décrit quel sera le prochain champ ayant la saisie et reprend le traitement en cours.

Erreur

Une erreur du WLangage apparaît si le <Nom de l'objet> ne correspond pas à un champ existant dans la fenêtre ou la page en cours.
WINDEVJavaCode Utilisateur (MCU)

Fonction RepriseSaisie sur une fenêtre

Si le paramètre <Nom de l'objet> correspond à un nom de fenêtre, la fenêtre est activée. Le champ prenant le focus dans cette fenêtre correspondra :
  • soit au dernier champ précédemment en saisie dans cette fenêtre,
  • soit au premier champ pouvant prendre le focus dans cette fenêtre (si aucune saisie n'a été effectuée précédemment dans cette fenêtre).
WINDEVJavaCode Utilisateur (MCU)

Fonction RepriseSaisie sur une colonne d'un champ Table

La fonction RepriseSaisie donne le focus à la colonne spécifiée. Si le champ Table n'est pas en cours de saisie, le champ Table passe en saisie.
WINDEVJavaCode Utilisateur (MCU)

Fonction RepriseSaisie sur le champ en cours

La fonction RepriseSaisie utilisée sans paramètre permet de donner le focus au champ en cours. Cette fonction, utilisée par exemple dans le code de sortie d'un champ de saisie, permet de forcer la saisie dans le champ en cours si les informations saisies ne correspondent pas aux informations attendues.
WINDEVJavaCode Utilisateur (MCU)

Traitements exécutés lors de l'utilisation de RepriseSaisie

Le code WLangage qui suit l'appel à RepriseSaisie n'est pas exécuté et l'utilisateur reprend la main.
Cas particuliers :
  • si l'appel de RepriseSaisie est fait dans un code appelé par la fonction Exécute, ExécuteCode ou ExécuteTraitement, le code appelé par la fonction Exécute, ExécuteCode ou ExécuteTraitement est interrompu. L'exécution reprend après l'appel de la fonction Exécute, ExécuteCode ou ExécuteTraitement.
  • si l'appel de RepriseSaisie est fait dans le code d'une fonction d'une autre fenêtre que la fenêtre courante, le code de cette fonction est interrompu et l'exécution reprend après son l'appel.
  • si l'appel de RepriseSaisie est fait dans un code d'un composant (procédure ou méthode), le code du composant est interrompu et l'exécution reprend après l'appel de la procédure ou de la méthode du composant.
  • si l'appel de RepriseSaisie est fait dans un code d'une procédure de fenêtre interne, le code de la procédure de la fenêtre interne est interrompu et l'exécution reprend après l'appel de la procédure de la fenêtre interne.
  • si l'appel de RepriseSaisie est fait dans le code d'une option de menu, le code de l'option de menu est interrompu et l'exécution reprend après l'appel de l'option de menu.
  • si l'appel de RepriseSaisie est fait dans une procédure de fenêtre appelée depuis un superchamp, le code de la procédure est interrompu et l'exécution reprend après l'appel de la procédure dans le superchamp.
  • si l'appel de RepriseSaisie est fait dans une procédure d'un superchamp ou d'un modèle de champs, le code de la procédure est interrompu et l'exécution reprend après l'appel de la procédure du superchamp ou du modèle de champs.
Le traitement en cours est interrompu définitivement. Par exemple :
RepriseSaisie("Saisie1")
Info("XXX")    // N'est jamais exécuté
En règle générale, les événements de sortie (du champ ou de la fenêtre en cours) et d'entrée (dans le champ ou dans la fenêtre spécifiée) sont exécutés en même temps que la fonction RepriseSaisie.
Exceptions :
  • Aucun code n'est exécuté si <Nom du champ> est le champ en cours.
  • Le code de sortie du champ en cours n'est pas exécuté si la fonction RepriseSaisie est utilisée dans un des événements de ce champ.
Pour ne pas interrompre le traitement, utilisez la fonction EcranPremier ou DonneFocus.
Java Le code WLangage qui suit l'appel à la fonction RepriseSaisie n'est pas exécuté. L'exécution des traitements reprend :
WINDEVJavaCode Utilisateur (MCU)

Fonction RepriseSaisie et FIN:

Après un appel à la fonction RepriseSaisie, le code suivant l'instruction "FIN:" n'est pas exécuté. La fonction RepriseSaisie peut être remplacée par l'appel à la fonction EcranPremier suivie de RETOUR ou RENVOYER.
Composante : wd240obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire