delphi4arab منتديات دلفي للعرب
المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : المتغيرات في دلفي . ما هي، كيف ولماذا ؟ (/showthread.php?tid=4436)



المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - boy_bpy - 08-08-2012

السلام عليكم

المتغير : تحجز ماكن في الذاكرة ؟ كيف يحجز او لماذ يحجز ؟
الحجم 32-bit وماذ تعني 32-bit
مجال القيم -2147483648..2147483647 ماذ تعني ؟


المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - Mr-HERO - 09-08-2012

وعليكم السلام ورحمة الله وبركاتة
اولا بالنسبة لـ 32 bit هذا نوع نظام اي الويندوز ,, انظمة الويندوز تنقسم الى نواتين واحدة 32 bit و الثانية 64 bit
يمكنك الذهاب الى الكمبيوتر وتظغط عليه خصائص وسوف تلاحظ انه مكتوب نوع النظام هنااك
اما المتغيرات [URL="http://www.delphi4arab.net/forum/showthread.php?tid=531"]
[دورة دلفي للعرب] الدرس الثاني : المتغيرات و الثوابت[/URL]


المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - boy_bpy - 09-08-2012

بانسبة لي النوات معروفة
An Integer whose size is guaranteed to be 32 bits
على حسب كلامك . يعني لو استخدمة هاذ الامر ضمن برنامجي انه لا يتشغل الى على النوات < 32


المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - TF6M - 09-08-2012

السلام عليكم و رحمة الله و بركاته
- أرأيت لماذا قلت أسئلة بسيطة تحتاج توضيح مفاهيم[صورة: icon10.gif]...
1- سأشرح ببساطة و بشكل سطحي , نكتب كود بسيط يجمع متغيرين ذو طبيعة حقيقية (أعداد بدون فاصلة) :
كود :
procedure TForm1.Button1Click(Sender: TObject); Var {متغيرات محلية} A: Integer; B: Integer; C: Integer; begin A:= 17; //إسناد قيمة لـ A B:= 88; //إسناد قيمة لـ B C:= A + B; // جمع المتغيروينA,B ShowMessage('A + B = ' + IntToStr(C)); //عرض المجموع C في رسالة end;

2- تحليل الكود,كيف ينفذ المعالج هذا الكود :
كود :
... MOV EAX,11 // $11 = 17 MOV EDX,58 // $58 = 88 LEA EBX,DWORD PTR DS:[EDX+EAX] // EBX = $11 + $58 = $69 (105) ...

3- الآن , لينفذ المعالج كود معين (مجموعة خطوات) عن طريق RI أو الريجيسترات الداخلية .... الخ
كيف ؟ (حسب الكود الأول في دلفي), يضع القيمة $11 في المسجل Eax (مسجل 32 Bit) يصبح
المسجل هكذا : 0001 0001 = Eax , أيضا المسجل 1000 0101 = Edx
يعني تم تخصيص 32Bit = 4 Byte للمتغير A الذي خزن القيمة 17 فيها .

- الأن النتيجة عدد صحيح A + B , يسند لـ C بهذا الشكل :
كود :
LEA EBX,DWORD PTR DS:[EDX+EAX]
1001 0110 = Ebx أي النتيجة التي ستعرض في الرسالة 105

- 64/32/16 bit حسب معمارية المعالج .


المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - boy_bpy - 09-08-2012

اهلا مشرفنا الغالي
اصبحت فيها لغة الالة على العموم بدأت تتضح لي الفكرة


المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - boy_bpy - 09-08-2012

اخي يعني يتم تحويل الكود الخاص با دلفي

الى لغة الالة حتى يتم تنفيدها

وهنا المتغير A من نوع Integer يعني 32Bit

32Bit = Byte4

يعرف المتغير على انه قيمة تحفظ في ذاكرة الجهاز . وتختلف المساحة المحجوزة باختلاف نوع المتغير

اخي سوالي نفترض انه برنامج كبير جداا .

ويحتوي على اكثر من الاف القيم يعني سعة المحجوزة في البرنامج اكثر من الذكرة الذي استخدمه انا

هل برنامج يشتغل على جهازي ام لا ؟