Delphi est un puissant outil de développement de programmes visuels. Lorsque nous utilisons Delphi pour développer des applications WINDOWS, bien que Delphi fournisse de nombreuses propriétés (PRperty) et événements (Event) pour chaque composant visuel, dans les applications réelles, nous pouvons rencontrer certains événements spéciaux dont nous avons besoin. Delphi ne fournit pas d'événements spéciaux, nous en avons donc besoin. pour ajouter ces événements spéciaux à l'application. Lorsque ces événements surviennent, les procédures de traitement de ces événements peuvent être appelées immédiatement. Cet article utilise des exemples pour illustrer comment ajouter des événements à l'application et traiter les événements.
Dans Delphi, les événements sont en réalité des propriétés spécialisées, qui sont des pointeurs vers une procédure. Pour ajouter un événement, vous devez d'abord spécifier un pointeur vers le processus événementiel dans la classe définie. La fonction de ce pointeur est d'exécuter le processus pointé par ce pointeur pour gérer l'événement une fois que l'événement se produit. Enfin, les attributs d'événement définis et le pointeur de traitement d'événement qui leur est associé sont publiés via le spécificateur publié.
Dans cet exemple, FtooBig est le pointeur de traitement d'événement défini et OnTooBig est le nom de l'attribut d'événement. Le pointeur de processus de traitement d'événements FtooBig est amené à pointer vers le processus TooBig1 via l'initialisation du programme. Placez trois zones d'édition sur le formulaire Delphi (Form1), à savoir Edit1, Edit2 et Edit3, et placez un bouton Button1. Le programme configure des variables entières privées val1, val2 et res. La variable res est utilisée pour enregistrer le produit de val1 et val2 et l'afficher à l'aide de Edit3. Lorsqu'une des données saisies via Edit1 et Edit2 est supérieure à 100, un événement sera déclenché et la procédure de gestion d'événement TooBig1 sera appelée pour afficher une boîte de dialogue indiquant que cet événement s'est produit et a été traité. Le code du programme source est le suivant. Le programme a été débogué dans Delphi 3.
unit Unit1;interfaceutilise Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; {Entrez le premier entier} Edit2: {Entrez le deuxième entier } Edit3; : TEdit; {Sortir le produit des deux premiers entiers} Button1 : TButton ; procédure Button1Click(Expéditeur : TObject); procédure TooBig1(Sender: TObject); {Cette procédure est appelée lorsque l'événement est déclenché} procédure FormCreate(Sender: TObject); les deux produits de nombres} FTooBig : TNotifyEvent; {définir un pointeur vers le gestionnaire d'événements FTooBig} { Déclarations privées } public { Déclarations publiques } sharedproperty OnTooBig:TNotifyevent lire FTooBig écrire FTooBig;{define event} end;var Form1: TForm1;implementation{$R *.DFM}procédure TForm1.Button1Click(Sender: TObject);begin val1 := StrToInt(Edit1.Text); = StrVersInt(Edit2.Text); si(val1< 100)et(val2< 100) puis commencez res := val1*val2; Edit3.Text := IntToStr(res); end else if assigné(FTooBig) then OnTooBig(Self);end;procedure TForm1.TooBig1(Sender: TObject );beginapplication.MessageBox('Trop gros',' Test Event! ',MB_OK);end;procédure TForm1.FormCreate(Sender: TObject);begin val1:=1; val2:=1; FTooBig := TooBig1;{Faire pointer le pointeur du gestionnaire d'événements vers le gestionnaire d'événements}end;end.