المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ما الفرق بين dim وً static


mourshidy
17-11-2005, 09:14 PM
أيها الأخوة الكرام أريد أن أعرف الفرق بين dim --- static
ومتى أستخدم كل منهما

صائد الأرواح
17-11-2005, 10:54 PM
طبعا انت عارف أننا بنستخدم dim لما بنعرف المتغيرات زي المثال ده
dim a as long
يقوم البرنامج يحجز في الذاكرة مكان لمتغير أسمه a بنوع عدد صحيح طويل,
المهم أنو بيخصص للمتغير ده قيمة محددة لا يتم الإضافة عليها أبدا مثلا
dim a as long
sub command 1_ click
a=1
print a
a=a+1
end sub
كون النتيجة انك كل ما تضغط على ال command يكتبلك صفر على ال فورم
لأنه ما غيرش قيمة المتغير في الذاكرة و أضاف عليها واحد زي ما احنا طالبين ,
و ده هو الفرق بين dim , static لاحظ البرنامج السابق بعد التعديل ,
sub command 1 _ click
static a as long
print a
a=a+1
end sub
و النتيجة طبعا كل ما تضغط command يكتبلك صفر
وبعدين يجمع عليه واحد و يخزن القيمة في المتغير و يكتب واحد
و يجمع و يكتب 2
و هكذا
أي أن static تعمل عمل dim و لكن تضيف القيم لقيمة المتغير و تجمعها في الذاكرة
و تستخدم dim لتعريف أي متغير , بشرط تكون قيمته ثابتة طول البرنامج و مش ها تتغير
و static لتعريف المتغيرات أيضا بشرط ان قيمتها ستتغير خلال البرنامج ب أي عملية حسابية أو معادلة
زي مثلا لو عاوز تعمل عداد رقمي من واحد مثلا لحد ما المستخدم يضغط زر معين و يجمع الأرقام اللي عدها
وهكذا


أرجو أنها تكون وصلت ,, :shiny000:
و أي سؤال اتفضل ,,

mourshidy
18-11-2005, 10:56 AM
شكرا ياقابض الأرواح
بس بعيد عني

ahmed_illidan
18-11-2005, 11:57 AM
الف شكر على المعلومات المفيده والى الامام دوما

vb5-rocket
19-11-2005, 06:35 PM
طبعا انت عارف أننا بنستخدم dim لما بنعرف المتغيرات زي المثال ده
dim a as long
يقوم البرنامج يحجز في الذاكرة مكان لمتغير أسمه a بنوع عدد صحيح طويل,
المهم أنو بيخصص للمتغير ده قيمة محددة لا يتم الإضافة عليها أبدا مثلا
dim a as long
sub command 1_ click
a=1
print a
a=a+1
end sub
كون النتيجة انك كل ما تضغط على ال command يكتبلك صفر على ال فورم
لأنه ما غيرش قيمة المتغير في الذاكرة و أضاف عليها واحد زي ما احنا طالبين ,
و ده هو الفرق بين dim , static لاحظ البرنامج السابق بعد التعديل ,
sub command 1 _ click
static a as long
print a
a=a+1
end sub
و النتيجة طبعا كل ما تضغط command يكتبلك صفر
وبعدين يجمع عليه واحد و يخزن القيمة في المتغير و يكتب واحد
و يجمع و يكتب 2
و هكذا
أي أن static تعمل عمل dim و لكن تضيف القيم لقيمة المتغير و تجمعها في الذاكرة
و تستخدم dim لتعريف أي متغير , بشرط تكون قيمته ثابتة طول البرنامج و مش ها تتغير
و static لتعريف المتغيرات أيضا بشرط ان قيمتها ستتغير خلال البرنامج ب أي عملية حسابية أو معادلة
زي مثلا لو عاوز تعمل عداد رقمي من واحد مثلا لحد ما المستخدم يضغط زر معين و يجمع الأرقام اللي عدها
وهكذا


أرجو أنها تكون وصلت ,, :shiny000:
و أي سؤال اتفضل ,,


مع احترامى ليك يا قابض الارواح ...
بكل بساطة لما تعرف متغير من داخل SUB عن طريق الامر DIM فبمجرد الانتهاء من ال SUB يتم التخلص من المتغير من الذاكرة .... اما لو تم تعريف المتغير عن طريق الامر STATIC فعند الانتهاء من ال SUB ستظل قيمة المتغير فى الذاكرة بحيث انك لو رجعت ونفذت ال SUB مرة تانية هيتم التعامل مع اخر قيمة كانت فى المتغير على عكس الامر DIM لانه بمجرد تنفيذ ال SUB مرة تانية هيصفر المتغير

صائد الأرواح
20-11-2005, 07:47 PM
السلام عليكم و رحمة الله و بركاته
مشكور أخ vb5-rocket على المرور :clap0000:
و تقريبا انا كلامي قريب من كدة ,, بس انا مش بأعرف اعبر صح :bigsmile: :bigsmile:
و مشكور تاني و الى الأمام ,
و يا أخ mourshidy , خلي بالك من الكلام ده لآنه فرق مهم جدا و ربنا يوفقك ,,
و أي خدمة ,, :msn-wink:

mourshidy
20-11-2005, 11:26 PM
أنا متشكر ليكم إنتم الإثنين
وربنا يخليكم ليه
وربيا يزيدكم من علمه