easyDelphi Q&A
+2 تصويتات
45 مشاهدات

مثال ...   

 

procedure Set_value( s: integer ); overload

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

2 إجابة

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

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()


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

تم الرد عليه بواسطة (8,220 نقاط)
مختارة بواسطة
–2 تصويتات
تم الرد عليه بواسطة (6,450 نقاط)

اسئلة متعلقة

+6 تصويتات
2 إجابة
سُئل يوليو 17، 2018 في تصنيف Database بواسطة zaher (11,940 نقاط) | 86 مشاهدات
+1 تصويت
2 إجابة
سُئل يوليو 9، 2018 في تصنيف OOP بواسطة Amar Gozim (10,530 نقاط) | 120 مشاهدات
+2 تصويتات
1 إجابة
+2 تصويتات
1 إجابة
سُئل أغسطس 20، 2018 في تصنيف Delphi بواسطة alhmam (710 نقاط) | 52 مشاهدات
+2 تصويتات
1 إجابة
سُئل يوليو 2، 2018 في تصنيف Delphi بواسطة rahiche (2,360 نقاط) | 47 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

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

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

292 سؤال
497 إجابة
870 تعليق
192 مستخدم