البرمجة الغرضية التوجه في دلفي
البرمجة الغرضية التوجه في دلفي البرمجة الغرضية التوجه في دلفي
البرمجة الغرضية التوجه في دلفي عروة عيسى أولا علي أن أقوم ببناء صنف جديد بالإسم ، Tdate وقد تعلمنا ذلك سابقا وهو سهل : type TDate = class - منهج "ضبط القيمة" لن يرجع أي قيم بل سنمرر لة القيم على شكل بارامترات إجرائية Procedure وليس تابعا نريد نريد إجرائيتين مختلفتين لضبط القيمة ، ، Function ، . " لذلك من الأنسب أن يكون ولكن تذكر أنة بإمكاننا إستخدام نفس الإسم لكلا الإجرائيتين وذلك بالإستفادة من خاصية التحميل الزائد في دلفي (حيث سيكون الفرق بالبرامترات) ، وسأختار إسما مناسبا لهما وليكن SetValue" فإذا سيبدو إستدعاء كل من الإجرائيتين بعد الإنتهاء بالشكل : الإجرائية الأولى // 1); (2004, 7, TheDate.SetValue TheDate.SetValue(now); الإجرائية الثانية // Now) يعيد قيمة التاريخ الحالي من النوع (TdateTime - نريد أيضا منهج ليعرف إذا كانت السنة كبيسة أو لا ، المناسب أن يكون تابعا Function وليس إجرائية Procedure وليكن إسمة الإنتهاء كالتالي من الملاحظ أنة سيعيد قيمية بوليانية واحدة ، ، " LeapYear" : لذلك من وسيبدو شكلة بعد If (TheDate. LeapYear) then showmessage('Leap Year'); منهج إخراج التاريخ بشكل نصي مشابه لحالة تابع السنة الكبيسة لإنة سيعيد قيمة نصيه واحدة ، وبالتالي سيكون تابعا وسيكون شكلة بعد الإنتهاء كالتالي showmessage(TheDate.GetText); : - منهج زيادة اليوم ليس بحاجة أصلا لبارامترات ، فقط عند كل مرة يتم إستدعاءة فيها ، وليكن إسمة لإن مقدار الزيادة محددة سلفا حيث سيزيد التابع يوم واحد "Increase " ١٥
البرمجة الغرضية التوجه في دلفي عروة عيسى وإستخدامة سيكون بمنتهى السهولة : TheDate.increase; إن كل من الإحداث السابقة يجب أن يكون مرئيا من كل الوحدات ويستطيع المستخدم إستخدامة بشكل طبيعي، وبالتالي يجب أن يعرف تحت التوجية . Public وما أصبحنا نعرفة الآن أننا نملك صنف Tdate لة المناهج العامة السابقة وبالتالي أصبح التعريف سهلا المرحلة يمكننا أن نكتب التعريف كالتالي ، : وحتى هذة type TDate = class public procedure SetValue (y, m, d: Integer); overload; procedure SetValue (NewDate: TDateTime); overload; function LeapYear: Boolean; function GetText: string; procedure Increase; end; الخصائص المطلوبة للقراءة وإجرائية للكتابة Year و Month و Day تحتاج إلى قراءة وكتابة بالتأكيد ، . فإذا سمينا تابع القراءة GetYear وإجرائية الكتابة SetYear ستصبح التعاريف الثلاثة كالتالي : وسأختار هنا الحالة العامة وأضع تابع property Year: Integer read GetYear write SetYear; property Month: Integer read GetMonth write SetMonth; property Day: Integer read GetDay write SetDay; بالتأكيد بما أن الخواص يجب أن تكون ظاهرة للمستخدم ولبقية الوحدات فهي في قسم Public كذلك ، ١٦
- Page 1 and 2: تم تحميل الملف من م
- Page 3 and 4: البرمجة الغرضية ال
- Page 5 and 6: البرمجة الغرضية ال
- Page 7 and 8: البرمجة الغرضية ال
- Page 9 and 10: البرمجة الغرضية ال
- Page 11 and 12: البرمجة الغرضية ال
- Page 13 and 14: البرمجة الغرضية ال
- Page 15: البرمجة الغرضية ال
- Page 19 and 20: البرمجة الغرضية ال
- Page 21 and 22: البرمجة الغرضية ال
- Page 23 and 24: البرمجة الغرضية ال
- Page 25 and 26: البرمجة الغرضية ال
- Page 27 and 28: البرمجة الغرضية ال
- Page 29 and 30: البرمجة الغرضية ال
- Page 31 and 32: البرمجة الغرضية ال
- Page 33 and 34: البرمجة الغرضية ال
- Page 35 and 36: البرمجة الغرضية ال
- Page 37 and 38: البرمجة الغرضية ال
- Page 39 and 40: البرمجة الغرضية ال
- Page 41 and 42: البرمجة الغرضية ال
- Page 43 and 44: البرمجة الغرضية ال
- Page 45 and 46: البرمجة الغرضية ال
<strong>البرمجة</strong> <strong>الغرضية</strong> <strong>التوجه</strong> <strong>في</strong> دل<strong>في</strong><br />
عروة عيسى<br />
أولا علي أن أقوم ببناء صنف جديد بالإسم ،<br />
Tdate وقد تعلمنا ذلك سابقا وهو سهل :<br />
type<br />
TDate = class<br />
- منهج<br />
"ضبط القيمة" لن يرجع أي قيم بل سنمرر لة القيم على شكل بارامترات<br />
إجرائية Procedure وليس تابعا<br />
نريد<br />
نريد إجرائيتين مختلفتين لضبط القيمة<br />
،<br />
، Function<br />
،<br />
. "<br />
لذلك من الأنسب أن يكون<br />
ولكن تذكر أنة بإمكاننا إستخدام نفس الإسم لكلا الإجرائيتين وذلك<br />
بالإستفادة من خاصية التحميل الزائد <strong>في</strong> دل<strong>في</strong> (حيث سيكون الفرق بالبرامترات) ، وسأختار إسما مناسبا لهما وليكن<br />
SetValue"<br />
فإذا سيبدو إستدعاء كل من الإجرائيتين بعد الإنتهاء بالشكل :<br />
الإجرائية الأولى // 1); (2004, 7, TheDate.SetValue<br />
TheDate.SetValue(now);<br />
الإجرائية الثانية //<br />
Now) يعيد قيمة التاريخ الحالي من النوع<br />
(TdateTime<br />
- نريد أيضا منهج ليعرف إذا كانت السنة كبيسة أو لا<br />
،<br />
المناسب أن يكون تابعا Function وليس إجرائية Procedure وليكن إسمة<br />
الإنتهاء كالتالي<br />
من الملاحظ أنة سيعيد قيمية بوليانية واحدة<br />
،<br />
، " LeapYear"<br />
:<br />
لذلك من<br />
وسيبدو شكلة بعد<br />
If (TheDate. LeapYear) then showmessage('Leap Year');<br />
منهج إخراج التاريخ بشكل نصي مشابه لحالة تابع السنة الكبيسة لإنة سيعيد قيمة نصيه واحدة ، وبالتالي سيكون<br />
تابعا وسيكون شكلة بعد الإنتهاء كالتالي<br />
showmessage(TheDate.GetText);<br />
:<br />
- منهج زيادة اليوم ليس بحاجة أصلا لبارامترات<br />
،<br />
فقط عند كل مرة يتم إستدعاءة <strong>في</strong>ها ، وليكن إسمة<br />
لإن مقدار الزيادة محددة سلفا حيث سيزيد التابع يوم واحد<br />
"Increase "<br />
١٥