delphi4arab منتديات دلفي للعرب
سؤال بخصوص الدورة... الدرس الثالث... function ؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : سؤال بخصوص الدورة... الدرس الثالث... function ؟ (/showthread.php?tid=361)



سؤال بخصوص الدورة... الدرس الثالث... function ؟ - AL-MOB4RM3G - 29-12-2008

السلام عليكم ورحمة الله
اخواني بارك الله لكم...

في الحقيقة لم افهم ما الفرق بين ال procedure و ال function بعد...
الفونكشن ترجع ناتج... هاكذا مكتوب في الدرس...

لكن لحد الآن لم افهم معني ناتج...
فهل ممكن توضيح بارك الله لكم...

ومتى يجب استدام ال function ؟
وهل ممكن الإستغناء عى ال function بستخدام ال procedure ؟
ام انهما امران مختلفان...


سؤال بخصوص الدورة... الدرس الثالث... function ؟ - محمد عبد العزيز - 29-12-2008


كل من ال procedure و ال function مجموعة من الاوامر
يقوم البرنامج باستدعاء تلك الاوامر ثم العودة لتكملة باقي أوامر البرنامج
الان الفرق الوحيد تقنيا هو حالة المكدس Stack عند العودة من تنفيذها

Procedure يمكن استدعائها فقط ولايمكن ان تكون جزء من عملية حسابية او امر اخر
Function يمكن ان تكون جزء من عملية حسابية او تدخل في امر ما

والسلام عليكم



سؤال بخصوص الدورة... الدرس الثالث... function ؟ - AL-MOB4RM3G - 29-12-2008

طيب اخي.. شكرا لك...

في نصف الفيديوا تقريبا...
عندما تم تحويل ال بروديسور الى فونكشن...

تم كتابة
PHP كود :
function MathOperation(a, b : integer; Sig : string); 
begin 
if Sig = '+' then result := a + b; 
if 
Sig = '-' then result := a - b; 
if 
Sig = '*' then result := a * b; 

end; 

وتم كتابة result ولكن لم يتم تعريفه.. فكيف هذا اخي الكريم ؟


سؤال بخصوص الدورة... الدرس الثالث... function ؟ - محمد عبد العزيز - 29-12-2008


الResult لا يتم تعريفه لانه يمثل الFunction نفسها



سؤال بخصوص الدورة... الدرس الثالث... function ؟ - AL-MOB4RM3G - 29-12-2008

طيب اخي...

مع انني انا كاتب نفس الشئ الذس هو مكتوب في الدرس الّى انه يظهر خطأ عندي...
جربت البرنامج وهو شغّال بدوان مشاكل...

ولكن الحطأ مازال يظهر...

إقتباس :[warning] unit1.pas(35): Return value of function 'math' might be undefined

ما العمل بارك الله لكم؟...
هو هو خطأ ممكن تجاوزه بلتجاهل؟
ام انه خطا مهم التصليح ؟


سؤال بخصوص الدورة... الدرس الثالث... function ؟ - محمد عبد العزيز - 29-12-2008


اكمل الدرس
انت توقفت عند : اضافة نوع الناتج مهم جدا جدا
حيث كان الكود
PHP كود :
function MathOperation(a, b : integer; Sig : string); 
ولم تكمل وتكتب
PHP كود :
function MathOperation(a, b : integer; Sig : string):integer; 
كل Function بحاجة لتعرف نوع الناتج وفي حالتنا Integer
دائما حاول متابعة الدرس جيدا



سؤال بخصوص الدورة... الدرس الثالث... function ؟ - AL-MOB4RM3G - 29-12-2008

نعم صحيح اخي...
كان ينقصني دقة الملاحظة والله المستعان...

شكرا لك.


سؤال بخصوص الدورة... الدرس الثالث... function ؟ - S.FATEH - 27-03-2015

B.M.AbdelAziZ كتب :
الResult لا يتم تعريفه لانه يمثل الFunction نفسها
بمعنى اخر لا ينصح به للتوضيح فقط
PHP كود :
function ReturnStr: string;
begin
  Result 
:= 'Delphi4Arab.Net';
end; 

تكافئ

PHP كود :
function ReturnStr: string;
begin
  ReturnStr 
:= 'Delphi4Arab.Net';
end; 

جرب ذلك نفس الامر