آموزش : نحوه تخصیص دادن رویدادها در زمان اجرا ...
با سلام
حتما تا حالا بارها شده که نیاز داشتید در برنامه ای و در زمان اجرا مثال OnClick یک دکمه رو مقدار دهی کنید ، برای این کار می تونید به صورت زیر عمل کنید :
فرض کنید دو تکه کد داریم که باید یکی از اونها رو در زمانهایی خاص به Event اختصاص بدیم ، اول هر دو رو تعریف میکنیم ، به این صورت :
کد:
public
Procedure MyProc1(Sender : TObject);
Procedure MyProc2(Sender : TObject);
{ Public declarations }
...
implementation
Procedure TForm1.MyProc1(Sender : TObject);
begin
Application.Terminate;
end;
Procedure TForm1.MyProc2(Sender : TObject);
begin
MessageBox(Handle, 'Text', 'Caption', MB_OK);
end;
حالا می تونیم مثل مقدار دهی به یک متغیر هر کدوم از اونها رو برابر با یک Event قرار بدیم ، در این مثال ما یک شرط هم می زاریم تا در صورت True بودن یک متغیر ، رویداد ما به OnClick اختصاص داده بشه ، به این صورت :
کد:
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if MyVar = True then
BitBtn1.OnClick := MyProc1
else
BitBtn1.OnClick := MyProc2;
end;
MyVar در بالا به عنوان یک متغیر Boolean هست ...
برای درک بهتر کدهاتی بالا توصیه میکنم مثال زیر رو دانلود کنید :
کد:
http://nabegheh.parsaspace.com/SetProcedure.rar
موفق باشید ...