السلام عليكم ورحمة الله
إذا كانت دلفي تتيح لنا متغيرات في قسم ال global واي تصريح عن متغير في هذا القسم يتيح استخدامه في اي مكان في ال unit
إذا لماذا نستخدم المتغيرات في قسم ال local اقصد لماذا لا نضع كل المتغيرات في القسم العام مره واحده
وعليكم السلام ورحمة الله
حتى لا نذهب بعيد انظر السؤال السابق
http://www.delphi4arab.net/forum/showpos...ostcount=4
جرب، ضع مكون زر Button اضغط عليك مرتين واكتب الكور بالرابط السابق
نفذه اولا ولاحظ نتيجة الضغط عليه اكثر من مرة
غير المتغير واجعله Global ثم نفط اضغط على الزر اكثر من مرة
ماذا تستنتج ؟
لم استنتج اي شئ حيث عند الضغط ينشئ edit جديده وغيرت قسم التعريف نفس الشئ
لم استطع التفرقه بين التجربتين
ما الفرق اذا ؟
أخي أنا أيضا لم ألحظ الفرق
من فضلك إن كان هناك فرق شرحه لنا نحن المبتدئين
إقتباس :إذا لماذا نستخدم المتغيرات في قسم ال local اقصد لماذا لا نضع كل المتغيرات في القسم العام مره واحده
هناك مسائل كثيرة أغرب من ذلك...(في oop خاصة)
ستدرك ضرورة كل ذلك مع ممارسات متقدمة في البرمجة 
السلام عليكم
عندما نقوم بالاعلان عن متغير Global في صنف ما فان الكائن الدي ننشئه من هدا الصنف يحتفظ بهدا المتغير في الداكرة الى ان يتم تدمير الكائن ونستطيع الولوج لهدا المتغير حسب مدى الروية Private ,Protected,Public,....
اما المتغير المحلي فهو ينتهي فور انتهاء الاجرائية أو الدالة التي اعلن فيها...مع العلم بأن المتغير المحلي ادا كان كائنا سيبقى في الداكرة لدا يجب تدميره...
elarapy كتب :غيرت قسم التعريف .... لم استطع التفرقه بين التجربتين
ارفق مثالين لما جرب حتى وضح لك
تفضل في التجربه Test1 تم تعريف ال Edt على مستوى ال procedure
وفي التجربه 2 Test تم تعريفها على مستوى الي Unit
ما الفرق اذا ؟
السلام عليكم و رحمة الله و بركاته
- المتغيرات ما قبل قسم implementation
يتم الولوج في الوحدة الحالية و كافة الوحدات التي تستخدم هذه الوحدة (صلاحيات الرؤيا)
- المتغيرات ما بعد قسم implementation
تترجم فقط في الوحدة الحالية , يعني تتستخدم فقط من طرف هذه الوحدة .
1- الـ global
يستخدم (تخزين/تفريغ/إرفاق....الخ) من كافة أقسام الكود .
2- الـ Local
يستخدم من قسم الكود المحلي فقط (المعرف به) .
بالتوفيق,,
اعلم ما قلته اخي الفاضل ولكن لماذا لا يمكنني وضع كل المتغيرات في قسم ال Global والاستغناء عن قسم ال local ؟ مع ان عند تنفيذ البرنامج سيعمل بدون مشاكل ؟
مثال متغير محلي على مستوى الاجراء يتم وضعه في ال procedure الخاص به , ما الخطأ في انني اضع المتغير قبل ال implementation ؟
أعتقد ان هناك سبب جوهري وإلا ما كانت دلفي خصصت قسم local .
علما بما دار في ذهني هو ان قسم ال Local ميزته الوحيده ان ما به من متغيرات لا تنفذ عند تشغيل البرنامج بشكل عام بدون استخدام الاجراء
وذلك مما يوفر موارد الجهاز اي يقلل من استهلاك الذاكره لان لم يتم حجز المتغيرات في الذاكر مع تشغيل البرنامج بشكل عام ..