![]() |
|
المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - نسخة قابلة للطباعة +- 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 السلام عليكم و رحمة الله و بركاته - أرأيت لماذا قلت أسئلة بسيطة تحتاج توضيح مفاهيم 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]- 64/32/16 bit حسب معمارية المعالج . المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - boy_bpy - 09-08-2012 اهلا مشرفنا الغالي اصبحت فيها لغة الالة على العموم بدأت تتضح لي الفكرة المتغيرات في دلفي . ما هي، كيف ولماذا ؟ - boy_bpy - 09-08-2012 اخي يعني يتم تحويل الكود الخاص با دلفي الى لغة الالة حتى يتم تنفيدها وهنا المتغير A من نوع Integer يعني 32Bit 32Bit = Byte4 يعرف المتغير على انه قيمة تحفظ في ذاكرة الجهاز . وتختلف المساحة المحجوزة باختلاف نوع المتغير اخي سوالي نفترض انه برنامج كبير جداا . ويحتوي على اكثر من الاف القيم يعني سعة المحجوزة في البرنامج اكثر من الذكرة الذي استخدمه انا هل برنامج يشتغل على جهازي ام لا ؟ |