delphi4arab منتديات دلفي للعرب

نسخة كاملة : سؤال بخصوص الدورة... الدرس الثالث... function ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
اخواني بارك الله لكم...

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

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

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

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

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

والسلام عليكم
طيب اخي.. شكرا لك...

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

تم كتابة
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 ولكن لم يتم تعريفه.. فكيف هذا اخي الكريم ؟

الResult لا يتم تعريفه لانه يمثل الFunction نفسها
طيب اخي...

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

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

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

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

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

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

تكافئ

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

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