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 FMX Delphi Discussion :

TEdit Onchange Modified


Sujet :

Composants FMX Delphi

  1. #1
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut TEdit Onchange Modified
    Bonjour à tous,

    je boucle sur un truc. Je vous explique. J'ai un contrôle TEdit. Je voudrais coupler le contenu de ce contrôle à un champs d'un fichier XML (plus une série de petits calculs). Mais je ne voudrais pas que chaque modification du champs génère une modif dans le fichier XML (genre à chaque caractère entré) et donc les calculs qui vont avec, mais plutôt lorsque le TEdit perd le focus par exemple.
    Du coup, j'ai regardé Onchange qui me parait pas mal. Mais voila dixit Embarcadero :
    Ecrivez un gestionnaire d'événement OnChange pour effectuer des actions spécifiques quand le texte du contrôle de saisie a peut-être changé. Utilisez la propriété Modified pour savoir si une modification a réellement eu lieu. La propriété Text du contrôle de saisie est déjà actualisée pour refléter les modifications. Cet événement offre la première opportunité de répondre aux modifications effectuées par l'utilisateur dans le contrôle de saisie.
    Ce qui me gêne, 'est que la propriété Text est modifiée à chaque Onchange. Du coup je vais voir Modified et je trouve :
    Utilisez la propriété Modified pour déterminer si l'utilisateur a modifié la propriété Text du contrôle de saisie. Modified est seulement réinitialisée à False quand vous affectez une valeur à la propriété Text. En particulier, elle n'est pas réinitialisée quand le contrôle reçoit la focalisation.
    Ce qui m'arrange pas car je tourne en rond. Je me doute bien que la gestion de "OnExit" resoud ce cas particulier, mais...

    En filigrane, la question est plus large :
    Sur l'appel d'un destructeur par exemple, le mécanisme d'appel permet de traiter le "inherited" à n'importe quel moment du traitement. Est-ce possible pour tous les autres events ou pas ? Ca tient à la déclaration au départ (Override...) ?
    J'avais oublié le traditionnel "Merci à tous..."
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    D'après les sources, OnChange n'est déclenché justement que lors de DoExit (genre tu tapes ENTER). Il semblerait plutôt que tu ais assigné OnChangeTracking qui lui est déclenché à chaque frappe de touche dans la méthode SetText();

    sinon pour
    Est-ce possible pour tous les autres events ou pas ?
    ...celà dépend. Si le setter de la propriété est virtuel tu peux l'overrider...dans ton cas celà serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TCustomEdit.SetText(const Value: string);
    qui lui est virtuel (et dès lors overridable dans une classe descendante de TCustomEdit/TEdit), donc après tu fais ce que tu veux dans la version descendante...

    Pour savoir si c'est possible il suffit de consuler les sources. Dans ton cas il y a aussi la procédure Change qui est virtuelle.

Discussions similaires

  1. Onchange modifie la position Div
    Par kilian dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 19/04/2010, 08h25
  2. Réponses: 4
    Dernier message: 20/12/2007, 10h40
  3. Modifier dynamiquement le onchange d'un select
    Par olive_le_malin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/12/2006, 14h09
  4. Modifier la couleur de la police d'un TEdit ?
    Par der§en dans le forum Delphi
    Réponses: 5
    Dernier message: 27/07/2006, 21h57
  5. Courcircuiter l'évènement OnChange d'un TEdit
    Par Captain_JS dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/07/2005, 14h33

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