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 :

Procédure OnChange dans un TEdit


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Points : 157
    Points
    157
    Par défaut Procédure OnChange dans un TEdit


    on generale quand on utilise l'event OnChange pour un TEdit il faut que la nouvelle valeur differant de la 1ere valeur....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Procedure TForm1.Edit1OnChange(Sender:TObject);
    begin
    showmessage('salut');
    end;
     
    Procedure TForm1.Button1Onclick(Sender:TObject);
    begin
    Edit1.text := Edit2.text;
    end;
    alors est ce que je peux avoir le message Salut meme si les deux valeurs (nouvelle et precedent) sont egaux.

    d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    L'évènement OnChange ne se déclenchera si, et seulement si les valeurs sont différentes (la casse est sensible) (toto <> Toto).

    Je ne saisis pas bien le pourquoi de votre question?

    Voulez-vous déclencher l'évènement même si les valeurs sont identiques?

    Si oui,

    Un simple appel à la procedure Edit1OnChange suffit.

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Effectivement, si le champs n'a pas changé la procédure ne se lancera pas.
    Sinon, si tu veux déclencher une action même si le contenu de ton Edit n'a pas changé, tu peux utiliser l'évenment OnExit

  4. #4
    Membre habitué Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Points : 157
    Points
    157
    Par défaut
    Citation Envoyé par pepi22 Voir le message
    Bonjour,

    L'évènement OnChange ne se déclenchera si, et seulement si les valeurs sont différentes (la casse est sensible) (toto <> Toto).

    Je ne saisis pas bien le pourquoi de votre question?

    Voulez-vous déclencher l'évènement même si les valeurs sont identiques?

    Si oui,

    Un simple appel à la procedure Edit1OnChange suffit.



    oui exactement quand je met par example edit1.text := une valeur

    la procedure onchange declance


  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
      if Edit1.Text = 'Une valeur' then
       begin
         //Ici pas besoin de mettre la valeur car ils sont déja identique
         //Déclencher seulement l'évènement
         edit1onchange(self);
       end
      else
       begin
         //Ici OnChange va se déclencher tout seul
         edit1.text := 'Une valeur';
       end;
    Dans quel but voulez vous utilisez ceci?

    Car ce n'est peut être pas la bonne solution (Dans le cas d'un formulaire complet) ...

    Exposez plus clairement votre problème s'il vous plaît ...

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/03/2015, 13h56
  2. onChange dans un select
    Par nebule dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/12/2007, 11h19
  3. [PL/SQL] Appel procédure stockée dans trigger
    Par Félia dans le forum Oracle
    Réponses: 3
    Dernier message: 24/01/2005, 17h25
  4. Probleme collage dans un TEdit
    Par Zetmurin dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/10/2004, 13h19
  5. Procédures stockées dans accèss?
    Par joe.lindien dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/11/2003, 15h31

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