البرمجة الغرضية التوجه في دلفي
البرمجة الغرضية التوجه في دلفي
البرمجة الغرضية التوجه في دلفي
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>البرمجة</strong> <strong>الغرضية</strong> <strong>التوجه</strong> <strong>في</strong> دل<strong>في</strong><br />
عروة عيسى<br />
procedure Tform1.Button1Click(Sender: TObject);<br />
var<br />
NewDay: TDate;<br />
begin<br />
NewDay := TDate.Create;<br />
TheDay := NewDay;<br />
Label1.Caption := TheDay.GetText;<br />
end;<br />
: مثال<br />
... ماذا حصل<br />
، TheDay<br />
؟<br />
مواقع الذاكرة فقط<br />
يقوم هذا الكود بنسخ موقع ذاكرة الغرض الذي يشير إلية المتحول NewDay ووضعة <strong>في</strong> المتحول<br />
إن ذلك ليس نسخ بيانات غرض ما إلى غرض آخر<br />
،<br />
.<br />
ولكن عليك أن تحذر من ذلك<br />
وتحسن إستخدامة ،<br />
على الزر button1 ولم نقم بتحريرة بإستخدام<br />
،<br />
،<br />
Free مثلا<br />
ولتجنب ذلك تستطيع ببساطة تحرير الغرض القديم قبل بناء الغرض الجديد<br />
:<br />
إن هذة العملية سهلة وسريعة التن<strong>في</strong>ذ لإا تنقل عناوين<br />
لاحظ أننا سنقوم بإنشاء الغرض من جديد كل مرة يتم الضغط<br />
procedure TDateForm.BtnTodayClick(Sender: TObject);<br />
begin<br />
TheDay.Free;<br />
TheDay := TDate.Create;<br />
إن هذة الميزة تبدو ميزة عادية بداية ولكن عليك أن تعرف أن لها تطبيقات مهمة ، إن إمكانية تعريف متحول جديد<br />
يمكنة أن يشير إلى غرض ما يجعل من الممكن إستخدام المتحول لتخزين الغرض الناتج من قراءة إحدى الخصائص<br />
وإستخدامه <strong>في</strong>ما بعد<br />
،<br />
: مثلا ،<br />
إننا نكسب ديناميكية خاصة للتعامل مع الأغراض ونستطيع تشبية ذلك بأي متحول عادي<br />
كما تستطيع تمرير الغرض ذة الطريقة على شكل بارامتر خاص بتابع ما<br />
مناهج تقوم بمعالجتة والتعديل <strong>في</strong>ة من مكانة<br />
var<br />
ADay: TDate;<br />
begin<br />
ADay := UserInformation.GetBirthDate;<br />
// use a ADay<br />
.<br />
،<br />
.<br />
مثلا نفرض إجرائية لها بارامتر وحيد من الصنف<br />
، TButton<br />
أي أننا نعامل الغرض كمتحول ونمررة إلى<br />
نمرر لها زر ما فتقوم بتغيير إسمة مثلا أو أي بيانات يملكها<br />
:<br />
procedure ChangeCaption (B: TButton);<br />
begin<br />
B.Caption := B.Caption + ' was Modified';<br />
end;<br />
…………<br />
// call...<br />
ChangeCaption (Button1)<br />
٢٧