easyDelphi Q&A
+1 تصويت
40 مشاهدات

مثال ...   

 

procedure Set_value( s: integer ); overload

سُئل في تصنيف Delphi بواسطة (5,470 نقاط) | 40 مشاهدات
 

2 إجابة

+2 تصويتات
أفضل إجابة

Overload تعني التحميل الزائد وهي تسمح لنا بتعريف عدة اجراءات او دوال بنفس الاسم لكن بحجج مختلفة .

مثلا : 
لدينا الدوال التالية  :

  •  دالة لتحويل نص الى رقم :
     
    function IntToStr(Value: Integer): string;
    
    
  •  دالة لتحويل رقم الى نص :
     
    function StrToInt(const S: string): Integer;
    


 سنعيد كتابة الدالتين باسم واحد واكيد في هذه الحالة يجب علينا اضافة  Overload في تعريف الدالتين
(هذه الدوال موجودة في الدلفي ، سنستدعي اسمائهم فقط في الدوال التي سننشئها الان باستخدم التحميل الزائد )

 

 

الدوال الجديدة :

 

function _ConvertT(AValue : Integer) : string; overload;
 begin
    Result :=  IntToStr(AValue);
 end;

function _ConvertT(AValue : String) : Integer; overload;
 begin
    Result :=  StrToInt(AValue);
 end;

 

لاحظ لقد قمنا بكتابة دالتين بنفس الاسم لكن واحدة تقرأ نص وتعيد رقم والثانية تقرأ رقم وتعيد نص .

حسنا ، الان سنكتفي فقط باستدعاء اسم واحد لكلا الحالتين .

_ConvertT()


بعدها الدلفي سيتعرف تلقائيا على الحجج المدخلة اذا كان المدخل نص سيتم تحويله الى رقم والعكس 

تم الرد عليه بواسطة (7,610 نقاط)
مختارة بواسطة
–2 تصويتات
تم الرد عليه بواسطة (3,390 نقاط)

اسئلة متعلقة

+5 تصويتات
2 إجابة
سُئل يوليو 17 في تصنيف Database بواسطة zaher (7,040 نقاط) | 77 مشاهدات
+1 تصويت
2 إجابة
سُئل يوليو 9 في تصنيف OOP بواسطة Amar Gozim (5,470 نقاط) | 84 مشاهدات
+2 تصويتات
1 إجابة
0 تصويتات
1 إجابة
سُئل منذ 29 دقائق في تصنيف Delphi بواسطة alhmam (120 نقاط) | 2 مشاهدات
+2 تصويتات
1 إجابة
سُئل يوليو 2 في تصنيف Delphi بواسطة rahiche (2,230 نقاط) | 41 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

162 سؤال
327 إجابة
527 تعليق
104 مستخدم