26.04.2015 Views

البرمجة الغرضية التوجه في دلفي

البرمجة الغرضية التوجه في دلفي

البرمجة الغرضية التوجه في دلفي

SHOW MORE
SHOW LESS

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 />

٢٧

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!