-
TMemo et TList
Bonjour,
Je suis en train d'écrire du code pour mettre à jour un TMemo, au fur et à mesure que j'entre du texte dans un TEdit, pour que le TMemo m'affiche les mots commençant par ce que j'ai entré dans le TEdit, et qui sont dans une TList. Un truc qui a déjà dû être programmé 1 million de fois.
Il faudra que je mette une interruption de l'exploration de la liste, dès que le TEdit permet d'affiner la recherche ...
Savez-vous s'il existe-t-il un compo qui ferait ça, soit une interruption de mon codage, quoi ? :mrgreen:
Sinon, comment je pourrais dire à ma proc Chercher_dans_liste d'arrêter de chercher, dès que le TEdit est modifié, et de repartir avec une autre sous-liste de mots ?
Merci d'avance pour vos infos.
-
Mmmh, je ne suis pas sûr de bien tout saisir ce que tu veux faire mais pour arrêter une recherche en cours si jamais le critère de recherche change ce serait de Threadé la recherche.
Ainsi dès que tu as une recherche à faire, tu exécute le Thread de recherche. L'exécution du Thread est alors asynchrone et rend la main à ton programme principal qui peut continuer à tourner normalement. Le Thread quand à lui s'exécute jusqu'à ce qu'il ait trouvé ou bien qu'on lui dise d'arrêter.
Dès lors dès que tu enregistre un changement dans le TEdit, tu vérifies s'il y a un Thread de recherche qui tourne, si c'est le cas alors tu l'arrêtes et tu en relance un autre avec le nouveau critère.
Bien sûr avec cette solution il faut prévoir un système de callback par exemple pour récupérer le résultat de la recherche effectuée dans le Thread.
-
Merci pour les infos.
Je ne connais ce concept de thread.
je chercherai + avant...
Je laisse en non résolu, pour avoir des infos éventuelles pour ce thread, mais j'ai trouvé un truc qui a l'air de marcher pour l'instant.
Le recherche se fait sur une base très petite, mais avec un
Code:
application.processmessages;
dans le programme, après avoir lancé la recherche, ça fonctionne.