begin process at 2012 02 11 15:13:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants

 > COMPOSANT EDIT PERMETTANT DE SAVOIR QUI A MODIFIE LE TEXTE DANS LE ONCHANGE

COMPOSANT EDIT PERMETTANT DE SAVOIR QUI A MODIFIE LE TEXTE DANS LE ONCHANGE


 Information sur la source

Note :
Aucune note
Catégorie :Composants Classé sous :edit, onchange, source Niveau :Débutant Date de création :20/10/2006 Vu / téléchargé :2 582 / 417

Auteur : Guillemouze

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Ce composant permet de connaitre la source de l'evennement OnChange (provoque par une modification de l'utilisateur ou par le code).
Il propose 3 evenements :
OnUserChange est appelé lors d'une modification par l'utilisateur
OnCodeChange est appelé lors d'une modification par le code
OnChange qui est appelé lors de toute modification et qui precise la source (Event spécial)
Son utilisation est assez simple, un projet d'exemple est fourni avec.
Le composant est ajouté à la palette "Edits".

Si vous avez des questions ...


 Conclusion

j'ai relaisé ce composant par rapport à un sujet du forum :
http://www.delphifr.com/infomsg_CONNAITRE-ORIGIN E-ACTION-SUR-COMPOSANT-UTILISATEUR-OU-CODE_829669. aspx

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

TEXTIMAGE : UNE TIMAGE QUI INTERCEPTE LE ENTER / LEAVE DE LA...
Source avec Zip Source avec une capture RECHERCHER UNE FENETRE PAR SA CLASSE ET UNE PARTIE DE SON TI...
Source avec Zip Source avec une capture TCHECKEDGROUPBOX : TGROUPBOX PRÉCÉDÉ D'UNE CHECKBOX

 Sources de la même categorie

Source avec Zip MOVCONTROL par abmed1963
Source avec Zip Source avec une capture PACKAGE DE COMPOSANTS CINDY V4.41 par MAURICIO
Source avec Zip Source avec une capture DBNAVIGATORPLUS par pascal1541
Source avec Zip Source avec une capture EVALUATION D' EXPRESSIONS MATHÉMATIQUE (MÉTHODE RPN) par MAURICIO
Source avec Zip Source avec une capture COMPOSANT TQPROGRESSBAR UNE BARRE DE PROGRESSION... par yanb

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEU D'ÉCHEC MAZETTE par ADMR
Source avec Zip LIBRAIRIES NDSOFT par diglas
Source avec Zip Source avec une capture ODL EDITRTF 2007 par ODLCITEINFO
Source avec Zip TROIS COMPOSANTS EDIT par ThWilliam
Source avec Zip RECHERCHER DS UNE TABLE AVEC EVENEMENT ONCHANGE par jimmy69

Commentaires et avis

Commentaire de JulioDelphi le 20/10/2006 14:49:29 administrateur CS

fonctionne tres bien, super utile ce genre de compo :D
bravo

Commentaire de Delphiprog le 21/10/2006 22:31:18 administrateur CS

Il y a un petit point qui me gêne. Si l'on assigne une méthode à OnChange et à OnUserChange (ou à OnChange et à OnCodeChange), alors ces deux routines seront appelées. Est-ce volontaire ou bien il manque un "else" quelque part ?

Commentaire de Guillemouze le 21/10/2006 23:09:06

non c'est bien volontaire.
En fait a la bas je suis parti uniquement sur les methodes propores à chaque source. Mais ensuite, je me suis dit que certains veulent peut etre plus faire un seul traitement avec quelques differences selon la source, comme par exemple:

Edit1Change(Sender: TObject; UserEdit: Boolean);
begin
  if UserEdit then blablabla
  //du code commun aux deux
  if not UserEdit bliblibli
  //du code commun aux deux
  ...
end;

c'est pour cela que j'ai implémenté la deuxième façon de proceder. il est donc preferable de ne pas melanger l'utilisation de ces 2 methodes, a moins d'etre sur de ce que l'on fait.
si on regarde le code, on voit bien que la methode OnChange est appelée avant les methodes OnUser/CodeChange. Donc il est possible de faire un traitement commun avant le traitement specifique.
Il est aussi possible de creer un evenement du style Before et After pour l'event commun.
Je pense qu'il est tout simplement plus simple de ne pas melanger les appels, mais je n'ai pas voulu le bloquer car quelqun qui sait quel est le processus d'appel peut en jouer.

desolé à ceux qui lise ce message, j'ai l'impression d'avoir dit 10 fois la meme chose de manieres differentes :$

Commentaire de f0xi le 23/10/2006 06:20:31 administrateur CS





on peu reduire les conditions

procedure TUserEdit.Change;
begin
  inherited;
  if Assigned(FOnChange) then
    FOnChange(self, FUserEditing);

  case FUserEditing of
    false: if Assigned(FOnCodeChange) then FOnCodeChange(self);
    true : if Assigned(FOnUserChange) then FOnUserChange(self);
  end;
end;


on ne mets pas a nil les gestionnaire d'evenements!

constructor TUserEdit.Create(AOwner: Tcomponent);
begin
  inherited;
  FUserEditing := true;
end;


Set et Get doivent etre dans private et non dans protected.

Commentaire de Guillemouze le 23/10/2006 11:56:52

pourquoi on ne met pas a nil les gestionnaires d'evenements?

Commentaire de Delphiprog le 23/10/2006 17:22:01 administrateur CS

Parce que c'est inutile, cela est fait d'emblée : tout référent est automatiquement initialisé à Nil.
Ce n'est pas une faute, c'est seulement inutile...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

OnChange [ par AEC1 ] Bonjour à tous, Je termine une appli. sur une gestion de stock qui utilise des codes barres. Le problème c'est quand je scan un code il s'inscrit dans Code source pour recevoir et envoyer des messages via le SMSC d'un opérateur mobile avec Delphi 7 [ par dionmaxime ] Salut à tous, j'utilise Delphi 7.Je souhaite avoir un code source pour recevoir et envoyer des messages via le SMSC d'un opérateur mobile puis sauvega probleme avec valeur nul [ par pratrick ] Messieurs bonjour J'ai actuellement une condition qui vérifie le caractère 1 de la boite edit ne soit ni un chiffre ni rien saisie si on n'as rien mi [BUG] Petit bug sur CS [ par Bacterius ] Salut, je signale juste un petit bug, sous Opéra. Lorsqu'on ajoute une source sur CodeS-SourceS avec ce navigateur, à la fin du processus, au lieu d'ê [CS]Comment ajouter un nouveau code-source : truc bizarre [ par pseudo3 ] Bonjour, Petite question : On fait comment pour ajouter un nouveau code-source car je viens d'essayer et arrivé à "Etape 3 : Faciliter le referenceme Total d'une dbgrid [ par Luigi1205 ] Salut, je suis un débutant dans la programmation Delphi Mon problème c est que je n'arrive a afficher le total d'une colonne d'une dbgrid,dans un edit Comment retrancher le tout dernier chiffre et garder le reste originalement [ par leading ] Salut! J'ai une question liée à ceci. Je vous demande de m'aider. Car j'ai écrit les codes ci-dessous et me reste quelques lacunes. J'ai trois edits Sauvegarder dans un INI [ par Gogo700 ] Voilà, mon programme est composé d'un Edit et j'aimerais sauvegarder le contenu que lorsque l'on appuie sur un bouton le contenu de l'Edit soit sauveg Gestiondu déplacement d'une feuille fille [ par jderf ] Bonjour, Je souhaite controlé le déplacement des feuilles filles dans la fenêtre mère. Je veux bloquer, lors du glisser-déposer, le positionnement d'


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales