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
  • Fonction RepriseSaisie sur le dernier champ en cours
  • Traitements exécutés lors de l'utilisation de RepriseSaisie
  • Fonction RepriseSaisie et FIN:
  • Fonction RepriseSaisie exécutée dans l'événement "Avant fermeture par bouton OK/Fermer"
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).
WEBDEV - Code Navigateur La fonction RepriseSaisie peut être utilisée dans un événement navigateur (onchange, onclick, etc.), mais elle ne peut pas être utilisée dans une procédure locale ou une procédure globale navigateur.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
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
WINDEVEtats et RequêtesWindows MobileJavaCode 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>.
WEBDEV - Code Navigateur Nom du champ ou de la page qui doit prendre le focus (voir Remarques). Si ce paramètre n'est pas spécifié, le focus est donné au dernier champ en cours.
Versions 15 et supérieures
Android Nom du champ 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.
Nouveauté 15
Android Nom du champ 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.
Android Nom du champ 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.
Android Nom du champ 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.
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.
WINDEVEtats et RequêtesAndroidWindows MobileJavaCode 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).
WINDEVEtats et RequêtesWindows MobileJavaCode 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.
WINDEVEtats et RequêtesAndroidWindows MobileJavaCode 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.
WEBDEV - Code NavigateurAjax

Fonction RepriseSaisie sur le dernier champ en cours

La fonction RepriseSaisie utilisée sans paramètre permet de donner le focus au dernier 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.
Le champ doit alors être de l'un des types de champs suivants :
  • Champ de saisie.
  • Champ Interrupteur.
  • Champ Sélecteur.
  • Champ Liste.
  • Champ Combo.
  • Champ Zone de clicage.
Si le nom du champ correspond à une chaîne construite, il est nécessaire d'utiliser l'alias du champ (par exemple "AliasChamp"+Num). Dans ce cas, aucune vérification n'est effectuée : des erreurs Javascript peuvent être affichées si le focus est donné à un champ qui n'existe pas.
Rappel : L'alias d'un champ correspond au nom de ce champ dans la page HTML. Pour connaître cet alias :
  • sous l'éditeur de code, utilisez la combinaison de touches Maj + F1.
  • par programmation, utilisez la propriété ..Alias.
WINDEVEtats et RequêtesAndroidWindows MobileJavaCode 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.
AndroidJava Le code WLangage qui suit l'appel à la fonction RepriseSaisie n'est pas exécuté. L'exécution des traitements reprend :
WINDEVEtats et RequêtesAndroidWindows MobileJavaCode 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.
Windows Mobile

Fonction RepriseSaisie exécutée dans l'événement "Avant fermeture par bouton OK/Fermer"

Si la fonction RepriseSaisie est appelée dans l'événement "Avant fermeture par bouton OK/Fermer" d'une fenêtre, la fenêtre en cours ne sera pas fermée.
Remarque : L'événement "Avant fermeture par bouton OK/Fermer" d'une fenêtre est associé au bouton "Fermer" ou "OK" présent dans la barre de titre de la fenêtre.
Composante : wd240obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire