Delphi เป็นเครื่องมือพัฒนาโปรแกรมภาพที่ทรงพลัง เมื่อเราใช้ Delphi เพื่อพัฒนาแอปพลิเคชัน WINDOWS แม้ว่า Delphi จะมีคุณสมบัติมากมาย (PRperty) และเหตุการณ์ (Event) สำหรับแต่ละองค์ประกอบภาพ แต่ในแอปพลิเคชันจริง เราอาจพบเหตุการณ์พิเศษบางอย่างที่เราต้องการ Delphi ดังนั้นเราจึงต้องการ เพื่อเพิ่มกิจกรรมพิเศษเหล่านี้ลงในแอปพลิเคชัน เมื่อเหตุการณ์เหล่านี้เกิดขึ้น สามารถเรียกขั้นตอนในการจัดการเหตุการณ์เหล่านี้ได้ทันที บทความนี้ใช้ตัวอย่างเพื่อแสดงวิธีการเพิ่มเหตุการณ์ให้กับแอปพลิเคชันและประมวลผลเหตุการณ์
ใน Delphi เหตุการณ์เป็นคุณสมบัติพิเศษที่แท้จริง ซึ่งเป็นตัวชี้ไปยังขั้นตอน ในการเพิ่มเหตุการณ์ คุณควรระบุตัวชี้ไปยังกระบวนการของเหตุการณ์ในคลาสที่กำหนดไว้ก่อน หน้าที่ของตัวชี้นี้คือการดำเนินการกระบวนการที่ชี้โดยตัวชี้นี้เพื่อจัดการกับเหตุการณ์เมื่อเหตุการณ์เกิดขึ้น สุดท้ายนี้ คุณลักษณะเหตุการณ์ที่กำหนดไว้และตัวชี้การประมวลผลเหตุการณ์ที่เกี่ยวข้องกันจะถูกเผยแพร่ผ่านตัวระบุที่เผยแพร่
ในตัวอย่างนี้ FtooBig เป็นตัวชี้การประมวลผลเหตุการณ์ที่กำหนดไว้ และ OnTooBig คือชื่อแอตทริบิวต์เหตุการณ์ ตัวชี้กระบวนการประมวลผลเหตุการณ์ FtooBig ถูกสร้างขึ้นเพื่อชี้ไปที่กระบวนการ TooBig1 ผ่านการเริ่มต้นของโปรแกรม วางกล่องแก้ไขสามกล่องบนแบบฟอร์ม Delphi (Form1) ได้แก่ Edit1, Edit2 และ Edit3 และวางปุ่ม Button1 โปรแกรมตั้งค่าตัวแปรจำนวนเต็มส่วนตัว val1, val2 และ res ตัวแปร res ใช้เพื่อบันทึกผลคูณของ val1 และ val2 และแสดงโดยใช้ Edit3 เมื่อข้อมูลอินพุตรายการใดรายการหนึ่งผ่าน Edit1 และ Edit2 มากกว่า 100 เหตุการณ์จะถูกทริกเกอร์ และขั้นตอนการจัดการเหตุการณ์ TooBig1 จะถูกเรียกเพื่อแสดงกล่องโต้ตอบที่ระบุว่าเหตุการณ์นี้เกิดขึ้นและได้รับการประมวลผลแล้ว รหัสโปรแกรมต้นฉบับมีดังนี้
หน่วย Unit1; อินเทอร์เฟซ Windows, ข้อความ, SysUtils, คลาส, กราฟิก, การควบคุม, แบบฟอร์ม, กล่องโต้ตอบ, StdCtrls; พิมพ์ TForm1 = class (TForm) แก้ไข 1: {ป้อนจำนวนเต็มตัวแรก} แก้ไข 2: TEdit; : TEdit; {ส่งออกผลคูณของจำนวนเต็มสองตัวแรก} Button1: TButton; TObject) ขั้นตอน TooBig1 (ผู้ส่ง: TObject); {val1 และ val2 เก็บจำนวนเต็มอินพุตสองตัว ผลิตภัณฑ์ทั้งสองของตัวเลข} FTooBig : TNotifyEvent; {กำหนดตัวชี้ไปยังตัวจัดการเหตุการณ์ FTooBig} { ประกาศส่วนตัว } สาธารณะ { ประกาศสาธารณะ } เผยแพร่คุณสมบัติ OnTooBig:TNotifyevent อ่าน FTooBig เขียน FTooBig; {define event} end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin val1 := StrToInt(Edit1.Text); = StrToInt(แก้ไข2.ข้อความ); ถ้า(val1< 100)และ(val2< 100) จากนั้นเริ่มต้น res := val1*val2; Edit3.Text := IntToStr(res); end else หากได้รับมอบหมาย (FTooBig) จากนั้น OnTooBig(Self);end;procedure TForm1.TooBig1(Sender: TObject );beginapplication.MessageBox('ใหญ่เกินไป',' ทดสอบเหตุการณ์! ',MB_OK);สิ้นสุด;ขั้นตอน TForm1.FormCreate(Sender: TObject);begin val1:=1; FTooBig := TooBig1;{ทำให้ตัวชี้ตัวจัดการเหตุการณ์ชี้ไปที่ตัวจัดการเหตุการณ์}end;end