IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

TMemo et TList


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 117
    Par défaut 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 ?

    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.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Billets dans le blog
    1
    Par défaut
    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.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 117
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    application.processmessages;
    dans le programme, après avoir lancé la recherche, ça fonctionne.

Discussions similaires

  1. Sélection texte d'un TMemo
    Par nmathon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/05/2003, 17h17
  2. Transtyper element d'1 variable pointant sur TList?
    Par Cornell dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2003, 23h53
  3. Taille des tabulations dans un TMemo ?
    Par dergen dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/01/2003, 20h38
  4. TMemo et TRichEdit
    Par Invité dans le forum C++Builder
    Réponses: 6
    Dernier message: 09/10/2002, 21h37
  5. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 19h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo