المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
السلام عليكم ورحمة الله
اخواني بارك الله لكم...
في الحقيقة لم افهم ما الفرق بين ال procedure و ال function بعد...
الفونكشن ترجع ناتج... هاكذا مكتوب في الدرس...
لكن لحد الآن لم افهم معني ناتج...
فهل ممكن توضيح بارك الله لكم...
ومتى يجب استدام ال function ؟
وهل ممكن الإستغناء عى ال function بستخدام ال procedure ؟
ام انهما امران مختلفان...
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
كل من ال procedure و ال function مجموعة من الاوامر
يقوم البرنامج باستدعاء تلك الاوامر ثم العودة لتكملة باقي أوامر البرنامج
الان الفرق الوحيد تقنيا هو حالة المكدس Stack عند العودة من تنفيذها
Procedure يمكن استدعائها فقط ولايمكن ان تكون جزء من عملية حسابية او امر اخر
Function يمكن ان تكون جزء من عملية حسابية او تدخل في امر ما
والسلام عليكم
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 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 ولكن لم يتم تعريفه.. فكيف هذا اخي الكريم ؟
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
الResult لا يتم تعريفه لانه يمثل الFunction نفسها
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
طيب اخي...
مع انني انا كاتب نفس الشئ الذس هو مكتوب في الدرس الّى انه يظهر خطأ عندي...
جربت البرنامج وهو شغّال بدوان مشاكل...
ولكن الحطأ مازال يظهر...
إقتباس :[warning] unit1.pas(35): Return value of function 'math' might be undefined
ما العمل بارك الله لكم؟...
هو هو خطأ ممكن تجاوزه بلتجاهل؟
ام انه خطا مهم التصليح ؟
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
اكمل الدرس
انت توقفت عند : اضافة نوع الناتج مهم جدا جدا
حيث كان الكود
PHP كود :
function MathOperation(a, b : integer; Sig : string);
ولم تكمل وتكتب
PHP كود :
function MathOperation(a, b : integer; Sig : string):integer;
كل Function بحاجة لتعرف نوع الناتج وفي حالتنا Integer
دائما حاول متابعة الدرس جيدا
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
نعم صحيح اخي...
كان ينقصني دقة الملاحظة والله المستعان...
شكرا لك.
المشاركات : 975
المواضيع 50
:
: 218
الإنتساب : Feb 2008
B.M.AbdelAziZ كتب :
الResult لا يتم تعريفه لانه يمثل الFunction نفسها
بمعنى اخر لا ينصح به للتوضيح فقط
PHP كود :
function ReturnStr: string;
begin
Result := 'Delphi4Arab.Net';
end;
تكافئ
PHP كود :
function ReturnStr: string;
begin
ReturnStr := 'Delphi4Arab.Net';
end;
جرب ذلك نفس الامر
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج