PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2025 → Déclencher une action quand l'utilisateur cesse de saisir.
Déclencher une action quand l'utilisateur cesse de saisir.
Started by Pascal BOULESTEIX, May, 21 2025 11:24 AM - 7 replies
Registered member
1,180 messages
Posted on May, 21 2025 - 11:24 AM
Salut à tous
J'aimerai pouvoir lancer une action (typiquement une recherche dans une base hfsql) dès lors que le quidam cesse de saisir dans la zone de recherche.
Comment faire ?

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Posted on May, 21 2025 - 12:07 PM
Pascal BOULESTEIX a écrit :
Salut à tous
J'aimerai pouvoir lancer une action (typiquement une recherche dans une base hfsql) dès lors que le quidam cesse de saisir dans la zone de recherche.
Comment faire ?

--
Pascal Boulesteix
Applications Visiolittoral et WNat


L'évènement sortie du champ de saisie peut le faire.
Ou a chaque modification du champ de saisie suivant tes besoins.
Registered member
1,180 messages
Posted on May, 21 2025 - 2:55 PM
J'utilise déjà "A chaque modification" mais je n'aimerai lancer la recherche que si on peut interpréter que la saisie est finie, typiquement parce que le temps de saisie entre chaque lettre a freiné ou est interrompu. Bref ne lancer le minimum de recherche et non pour chaque lettre

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Posted on May, 21 2025 - 3:13 PM
Pascal BOULESTEIX a écrit :
J'utilise déjà "A chaque modification" mais je n'aimerai lancer la recherche que si on peut interpréter que la saisie est finie, typiquement parce que le temps de saisie entre chaque lettre a freiné ou est interrompu. Bref ne lancer le minimum de recherche et non pour chaque lettre

--
Pascal Boulesteix
Applications Visiolittoral et WNat


Bonjour,

pour ma part quand j'ai eu à faire ça, l'idée et de déclencher un timer à chaque modification du champ, permettant, à chaque frappe, de relancer le timer d'attente. Si au bout du délai, la modification du champ n'est pas exécutée, le timer se déclenche et lance ma recherche.

Pour le faire je fais :
- à chaque modification du champ de saisie, je fais un FinTimer(gnTimer) puis un gnTimer= TimerSys("A", 1s) qui appelle la procédure A qui gère la fin de saisie et déclenche la recherche. Niveau délai libre à vous de mettre ce que vous estimez raisonnable, 1s, 2s ... (ou le rendre paramétrable)
- dans la procédure A, je commence par un FinTimer(gnTimer) et j'exécute mon code de recherche
- à la fermeture de la fenêtre je fais également un FinTimer(gnTimer) pour ne rien laisser trainer
- gnTimer est une globale de la fenêtre

En espérant que ça puisse vous aider.
Posted on May, 21 2025 - 3:16 PM
Pascal BOULESTEIX a écrit :
J'utilise déjà "A chaque modification" mais je n'aimerai lancer la recherche que si on peut interpréter que la saisie est finie, typiquement parce que le temps de saisie entre chaque lettre a freiné ou est interrompu. Bref ne lancer le minimum de recherche et non pour chaque lettre

--
Pascal Boulesteix
Applications Visiolittoral et WNat


Et on peu combiner ça avec un Taille(moimeme) > x pour ne pas lancer de rechercher si on tape qu'un ou deux caractères par exemple
Posted on May, 21 2025 - 8:49 PM
Pascal BOULESTEIX a écrit :
J'utilise déjà "A chaque modification" mais je n'aimerai lancer la recherche que si on peut interpréter que la saisie est finie, typiquement parce que le temps de saisie entre chaque lettre a freiné ou est interrompu. Bref ne lancer le minimum de recherche et non pour chaque lettre

--
Pascal Boulesteix
Applications Visiolittoral et WNat


Utiliser l'évènement sortie du champ de saisie .
Registered member
537 messages
Posted on May, 22 2025 - 12:52 PM
Tu peux regarder l'exemple WM recherche, le principe chaque nouvelle frappe lance la recherche dans une nouvelle TP qui annule la TP précédente
Registered member
1,180 messages
Posted on May, 23 2025 - 3:38 PM
Pas mal l'exemple :merci:

--
Pascal Boulesteix
Applications Visiolittoral et WNat