|
أرشيف المنتدى هنا نقل الموضوعات المكررة والروابط التى لا تعمل |
مشاهدة نتائج الإستطلاع: هل تريد البرنامج المقرر Visual Basic 2008 express | |||
نعم أريدة وأحتاجة |
![]() ![]() ![]() ![]() |
74 | 86.05% |
لا شكراً غير مهم |
![]() ![]() ![]() ![]() |
12 | 13.95% |
المصوتون: 86. أنت لم تصوت في هذا الإستطلاع |
|
أدوات الموضوع | ابحث في الموضوع | انواع عرض الموضوع |
|
#1
|
||||
|
||||
![]() اقتباس:
هو ده الكلام المظبوط والاستنتاج الصحيح يا مستر حسن
__________________
يارب ارفع عنَّا وعن مصر الفتن ما ظهر منها وما بطن واحفظ بلاد المسلمين من كل شر وسوء يا أرحم الراحمين
|
#2
|
|||
|
|||
![]() اقتباس:
لماذا لا تفسر هكذا فعندما يكون نوع بيان المعاملات First و second نفس نوع بيان الدالة وهو Byte يحدث الخطأ عند الأمر total = First + second لانه لايمكن التخزين في نوع مغاير الا هو نوع المتغير داخل الدالة اما و عندما يكون نوع بيان المعاملات First و second نفس نوع بيان القيمة الراجعة total وهو مثلاً Short يحدث الخطأ عند الأمر Return totalتفسر هكذا و عندما يكون نوع بيان المعاملات First و second مغايرنوع بيان الدالة وهو Byte ومتفق مع نوع بيان المتغير داخل الدالة total وهو مثلاً Short يحدث الخطأ عند الأمر Return total لانه ليس نوع بيان الدالة byte
__________________
|
#3
|
|||
|
|||
![]()
[QUOTE=سيف سالم;5289582]سؤال نرجو الرد عليه مع التفسير
Public Class Form1 مع خالص تقديري للاراء ولاكن الصورة المرفقة موضحة المشكلة ولا ادري لما الجدالFunction Sum(ByVal First As Byte, ByVal second As Byte) As Byte Dim total As Short total = First + second Return total End Function 1- لاحظ التظليل اتي اين في الصورة اتى على السطر الخاص بجملة التخصيص total = First + second مع سطر اعلان الدالة Function Sum(ByVal First As Byte, ByVal second As Byte) As Byte تمام 2 - وقال ان الخطأ overflow تمام نوضح انت جمعت byte + byte وخصصته في short تمام ورجعت ال Short ل byte تمام لحد هنا عادي بس لما تستخدم قيم تعدي الحد بتاع الدالة byte لن يستطيع المترجم تحويلها ضمنيا كما في التخصيص العادي : - إزاي تحط مثلا 2 لتر في ازازة 1 لتر مثلاً ماشي الحال عشان كدة المترجم علملك على سطر الجمع وظللك بالرصاصي سطر اعلان الدالة عشان يقلك خلي بالك انت معلن ايع وجا تخصص ايه فين بقى القيمة overflow ؟ فين طبعا في سطر التخصيص عشان كدة علملك عليه اصفر وقالك overflow مع سطر الاعلان عشان طلاحظ الي انت اخطأته كأنه بيقلك متصحى يا عم انت نايم خلي بالك وشكراً أخوكم سعد |
#4
|
|||
|
|||
![]()
[QUOTE=tigerload;5292797]
اقتباس:
يعنى تقصد الجهاز بيقولك انك اخطأت لان short ليس هو نوع القيمة الراجعة وان نوع القيمة الراجعة هو byte
__________________
|
#5
|
|||
|
|||
![]()
ورد لي سؤال على البريد الخاص وليس من صلاحياتي الرد لأن مشاركاتي أقل من 500 مشاركة ولذلك أطرحه حتى نتشارك الإستفادة
كان نص السؤال سؤال نرجو الرد عليه مع التفسير Public Class Form1 طبعا مع التفسيرFunction Sum(ByVal First As Byte, ByVal second As Byte) As Byte Dim total As Short total = First + second Return total End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(Sum(255, 1)) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim total As Short total = 255 + 1 MsgBox(total)) End Sub End Class عند الضغط على button2 ماذا يحدث عند الضغط على button1 ماذا يحدث |
#6
|
||||
|
||||
![]()
ممكن حضرتك الإنتقال للرابط التالى حيث تم إثارة الموضوع وبه العديد من المناقشات
مطلوب الحل فورا
__________________
يخطئ من يظن أن للذئاب ديناً
|
#7
|
|||
|
|||
![]()
1- يجوز الإعلان عن متغير أو غيره نوع بيانه يختلف عن نوع بيان الدالة ثم نجعله القيمة الراجعة (Value)
2- عندما تستقبله الدالة عند استدعائها يتم تحويله لنفس نوع بيان الدالة حيث أن الدالة Sum نوع بيانها Byte وتم استخدام المتغير Total المعلن في نطاق الدالة Sum بنوع بيان Short كقيمة راجعة 3- عند استدعاء الدالة Sum في نطاق معالج الحدث الخاص ب Button1 تم تخصيص قيمة للوسيط الأول والوسيط الثاني أكبر من مدى نوع بيان الدالة وهذا لا يجوز فيتسبب في خطأ Runtime منها نخلص عند استدعاء الدالة لابد من تخصيص قيم من نفس نوع بيان وسائط الدالة أو يمكن تحويلها لهذا النوع وأن تكون في مدى القيم المسموح بها الإعلان عن الدالة سليم لكن الاستدعاء لم يلتزم بمواصفات الدالة (مجازا) آخر تعديل بواسطة tmrmsr ، 24-05-2013 الساعة 10:12 AM سبب آخر: تصويب |
#8
|
||||
|
||||
![]()
255 ليست أكبر من مدى الـ Byte
((MsgBox(Sum(255, 1
__________________
يخطئ من يظن أن للذئاب ديناً
|
#9
|
|||
|
|||
![]()
معذرة
ناتج الجمع وعند التحويل لنوع بيان الدالةbyte |
#10
|
|||
|
|||
![]()
في زر Button 2
تم تخصيص قيمة من خلال ناتج تعبير 255+1 التي هي في حدود نطاق مدى نوع المتغير لذلك عرضت الرسالة ولم يحدث خطأ لكن في زر Button1 المتغير استقبل القيمة لأنها تناسبه لكن عند تحويلها لنوع بيان الدالة القيمة أصبحت خارج نطاق نوع بيان الدالة فحدث خطأ Overflow وشكرا |
#11
|
||||
|
||||
![]()
الخطأ لم يكن فى الأمر Return total ولكنه حدث فى الأمر total = First + second
وكما ذكرت حضرتك فإن total نوعها Short سوف تستقبل ناتج الجمع دون مشاكل فكيف يظهر الخطأ فى total = First + second
__________________
يخطئ من يظن أن للذئاب ديناً
|
#12
|
|||
|
|||
![]()
الأمر يحتاج لبحث واطلاع امهلني بعض من الوقت
|
#13
|
|||
|
|||
![]() اقتباس:
بسبب عندما يتم جمع قيمة المتغير First الذي نوعه Byte والمتغير Second الذي نوع Byte ناتج الجمع يتم تمثيله أيضا في شكل Byte وبما أن ناتج الجمع أكبر من الحد المسموع يحدث خطأ Runtime لو القيمة في الحد المسموح يتم تحويل الناتج الذي نوعه Byte إلى Short ليخزن في المتغير Total ثم يتم تحويل المتغير Total إلى Byte ويرجع للدالة وحلا لهذا الوضع قم بعمل تحويل صريح total =CShort( First) +CShort ( second) ستجد الخطأ يظهر في سطر Return Total |
#14
|
|||
|
|||
![]() اقتباس:
اقتباس:
اقتباس:
"تم تخصيص قيمة للوسيط الأول والوسيط الثاني أكبر من مدى نوع بيان الدالة وهذا لا يجوز فيتسبب في خطأ Runtime" هل هذا استنتاج ام مسند الى رأي علمى "المتغير استقبل القيمة لأنها تناسبه" طبعا المتغير لم يستقبله من الاساس رغم ان القيمة تناسبة تماما ولم تتخطى المدى short "حدث عن تنفيذ السطر total = First + second بسبب عندما يتم جمع قيمة المتغير First الذي نوعه Byte والمتغير Second الذي نوع Byte ناتج الجمع يتم تمثيله أيضا في شكل Byte وبما أن ناتج الجمع أكبر من الحد المسموع يحدث خطأ Runtime " طبعا ناتج الجمع 256 يناسب النوع short تماما بعكس ما ذكرتم وحدث الخطأ وهذا هو المطلوب تفسيره لماذا لم يقبل النوع short تخزين 256 التى تناسب معه "لو القيمة في الحد المسموح يتم تحويل الناتج الذي نوعه Byte إلى Short ليخزن في المتغير Total" القيمة 256 في الحد المسموح للمكان التى ستخصص له total وحلا لهذا الوضع نحن لا نريد حلا ولكن نريد تفسير ليه متغير يرفض قبول قيمة مسموح بها في نطاقه في مكان ويقبلها في مكان اخر طبعا الهدف ليس سوى الوصول الصح ايه هل ما بعد return القيمة الراجعة نوعها هو النوع ما بعد as في تعريف الدالة ام لا
__________________
|
#15
|
||||||||
|
||||||||
![]()
ممكن حضرتك تنظر لتلك المناقشات
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
__________________
يخطئ من يظن أن للذئاب ديناً
|
العلامات المرجعية |
الكلمات الدلالية (Tags) |
أبوزياد, اتفة الفصل الرابع وورد, شرح الترم الثاني فيديو |
أدوات الموضوع | ابحث في الموضوع |
انواع عرض الموضوع | |
|
|