Surveillance des modifications apportée sur n'importe quel type d'objet : détection des modifications

Soyez le premier à donner votre avis sur cette source.

Vue 7 024 fois - Téléchargée 734 fois

Description

Beacoup comme moi auront surement eu besoin de vérifier si des contrôles d'une fenêtres ont été modifiés. Je pense par exemple à une fiche qui contiendrait des renseignements sur un contacts. Lors de la modification de ce contact, on initialise les champs avec une valeur et on aimerait bien, avant de fermer la fenêtre, vérifier qu'il y a bien eu des modifications avant de demander à l'utilisateur s'il veut sauvegarder ses modifications.

Cette petite DLL est la solution. Je l'ai créée de la manière la plus simple :
on a un objet principal : le Supervisor auquel on ajoute la liste des contrôles à surveiller. Ensuite, on peut initialiser la valeur de ces contrôles et une fois qu'on a tout initialisé, on demande au surpervor d'initialiser sa surveillance à partir de ce moment précis (on retient pour chaque contrôle la valeur à surveiller : pour un textbox, c'est la propriété TEXT par exemple). Ensuite, on peut modifier la fiche et avant de sortir, on demande au supervisor s'il y a eu des modifications via une simple fonction HASCHANGES.

J'ai développé cette DLL de manière à pouvoir facilement ajouter des nouveaux types d'objets pouvant être surveillés. Pour cela, il suffit d'implémenter l'interface IControlSupervised et de faire le lien entre le nouveau type d'objet à surveiller et votre implémentation via la fonction ADDCONTROL du Supervisor.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
34
Date d'inscription
mardi 3 janvier 2006
Statut
Membre
Dernière intervention
16 janvier 2008

Très bon code, Parfait, mise en place très rapide, et pourtant, je suis débutant :-)
Messages postés
412
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
7 avril 2008
1
Excellent 10/10
Messages postés
412
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
7 avril 2008
1
Très bonne idée, je vais voir comment tu as fait.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.