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

مثال ...   

 

procedure Set_value( s: integer ); overload

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

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,840 نقاط)
مختارة بواسطة
–2 تصويتات
تم الرد عليه بواسطة (5,790 نقاط)

اسئلة متعلقة

+5 تصويتات
2 إجابة
سُئل يوليو 17 في تصنيف Database بواسطة zaher (9,270 نقاط) | 81 مشاهدات
+1 تصويت
2 إجابة
سُئل يوليو 9 في تصنيف OOP بواسطة Amar Gozim (6,240 نقاط) | 106 مشاهدات
+2 تصويتات
1 إجابة
+1 تصويت
1 إجابة
سُئل أغسطس 20 في تصنيف Delphi بواسطة alhmam (550 نقاط) | 42 مشاهدات
+2 تصويتات
1 إجابة
سُئل يوليو 2 في تصنيف Delphi بواسطة rahiche (2,320 نقاط) | 43 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

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

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

249 سؤال
451 إجابة
790 تعليق
148 مستخدم