تقييم الموضوع :
  • 1 أصوات - بمعدل 2
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] ماهو الخطا
#1
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Select Case TextBox1.Text
Case Is < 0
TextBox2.Text = "الدرجه في السالب"
Case 0 To 49
TextBox2.Text = "الطالب راسب"
Case 50 To 59
TextBox2.Text = "الطالب ناجح"
Case 60 To 69
TextBox2.Text = "الطالب مقبول"
Case 70 To 79
TextBox2.Text = "الطالب جيد"
Case 80 To 89
TextBox2.Text = "الطالب جيد جدا"
Case 90 To 100
TextBox2.Text = "الطالب ممتاز"
Case Is > 100
TextBox2.Text = "الدرجة خارج المدى"
Case Else
TextBox2.Text = "رجاءا ادخل القيمه"
End Select
End Sub
End Class

السلام عليكم شباب البرنامج يتنفذ صحيح ولكن فيه مشكله هل يستطيح احد يساعدني لماذا الشرط الاخير لا يتنفذ وهو شر case else
اي عندما لايدخل الشخص قيمه تخرج رساله اخل القيمه
انا استطيع اعالجها في if ولكن انا اريد اعالجها في select
المشكله الثانيه
هي عندما اخل نص يتنفذ شرط الثاني ويقول الطالب راسب
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم
بالنسبة للسؤال الاول
بالبداية اخي المتغير is ما رابطة وي كود البرنامج يجب وضع فيمة ال textbox1.text في المتغير is قبل ال sellect
ثم انت مسنخدم طريقتين لل sellect في وقت واحد انا لم اجربها ولم اشاهدها في البرمجة
عزيزي انصحك باسنخدام if للاكبر والاصغر من المدى ووضع احتمالات ال sellect في ال else
اما السؤال الثاني
لا ينفذ ال else لان لا توجد قيمة ليختبرها
حسب رأيي تقول في الشرط اذا كانت قيمة ال textbox1.text
تساوي "" نفذ الشرط
وشكرا
عسى ان اكون قد افدتك
الرد }}}
تم الشكر بواسطة: scluay
#3
وعليكم السلام
مرحبا بك اخ صفاء وزادك ربي عطاء
اخي انا مدخل is ضمن الشرط لأن الشرط سوف يدقق على textbox1.text وهذه هي قاعدة البرنامج وقد تنفذ عندي
اما موضوع الفراغ لم يتنفذا انا اريد تفيذه عن طريق select اذا امكن اليس هو شئ يختبر كغيره
الرد }}}
تم الشكر بواسطة:
#4
القيمة الإفتراضية لل string تساوى null وهو من refrence types وبالتالى أنت تقوم بمقارنة عددية فى مثالك وحتى يمكنه المقارنه لابد أن يقوم ال vb بتحويل ال null إلى عدد حيث أن الأعداد من النوع value type أى تحفظ كقيمة على ما أتذكر فى ال heap فى الزاكرة ولذلك طبقا للكود المكتوب يقوم أولا بتحويل ال null إلى قيمة -1 وبالتالى تظهر لك النتيجة كما ترى
أما إذا قمت بوضع الكود هكذا
كود :
VAL(ME.TEXTBOX1.TEXT)
فسوف يقوم بتحويل ال NULL الى 0 وتظهر لك النتيجة المساوية

لذلك لابد من التأكد من مدخلات برنامجك حتى تحصل على نتيجة صحيحة
الرد }}}
تم الشكر بواسطة: scluay
#5
ممكن احد الشباب يحل المثال مع مرعات جميع الاحتمالات
1- احتمل عدم وجود اي شيء
2- احتمال ادخل قيمه سالبه
3- احتمال ادخل قيمه فوق المئه
4- احتمال ادخله حرف او كلمه
5- احتمال الارقام الاخره للنجاح والرسوب وجيد وجيدجدا وممتاز ومقبول ومتوسط
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم...

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Mark As Double

        If Not IsNumeric(TextBox1.Text) Then
            MsgBox("الرجاء إدخال قيمة عددية")
        Else
            Mark = CDbl(TextBox1.Text)
            If (Mark < 0) Or (Mark > 100) Then
                MsgBox("القيم المقبولة بين صفر و مائة")
            Else
                Select Case Mark
                    Case Is < 50
                        TextBox2.Text = "راسب"
                    Case Is < 65
                        TextBox2.Text = "مقبول"
                    Case Is < 75
                        TextBox2.Text = "جيد"
                    Case Is < 85
                        TextBox2.Text = "جيد جداً"
                    Case Else
                        TextBox2.Text = "ممتاز"
                End Select
            End If
        End If
    End Sub

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: scluay
#7
اخ ناجي شئ جميل ولكن بقى شيئ واحد الا وهو لو لم يدخل شئ

ثانيا الداله isnumeric لماذا جعلت امامها not

وثالثا انا اشكر تعاونك مع
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم...

أولاً بما أن الدالة IsNumeric تختبر ما إذا كان المحتوى عدداً أم لا، فإنه حتى عدم وجود نص في الـ TextBox (أي إذا لم تدخل شيئاً) يعتبر قيمة غير عددية.

ثانياً بما أن الدالة IsNumeric تعطي True في حالة كون المحتوى عدداً فإن وجود Not يعني: إذا لم يكن المحتوى عدداً...

يمكنك حذف Not مع نقل جزء Else إلى Then و نقل جزء Then إلى Else.

كود :
Dim Mark As Double

If IsNumeric(TextBox1.Text) Then
    Mark = CDbl(TextBox1.Text)
    If (Mark < 0) Or (Mark > 100) Then
        MsgBox("القيم المقبولة بين صفر و مائة")
    Else
        Select Case Mark
            Case Is < 50
                TextBox2.Text = "راسب"
            Case Is < 65
                TextBox2.Text = "مقبول"
            Case Is < 75
                TextBox2.Text = "جيد"
            Case Is < 85
                TextBox2.Text = "جيد جداً"
            Case Else
                TextBox2.Text = "ممتاز"
        End Select
    End If
Else
    MsgBox("الرجاء إدخال قيمة عددية")
End If

و السلام عليكم.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: scluay
#9
وعليكم السلام ورحمة الله عاشة ايدك ياطيب وانا اشكرك واشكر الجميع على هذا التفاعل
ولكن هل ممكن ان اعمل كل هذه الامور بدون استخدام IF
الرد }}}
تم الشكر بواسطة:
#10
السلام عليكم

اعتقد ان علينا اعادة ترتيب الشرط لكي يعمل المثال بشكل جيد
كود :
Dim Mark As Double

If IsNumeric(TextBox1.Text) Then
    Mark = CDbl(TextBox1.Text)
    If (Mark < 0) Or (Mark > 100) Then
        MsgBox("القيم المقبولة بين صفر و مائة")
    Else
        Select Case Mark
            Case Is < 85
                TextBox2.Text = "جيد جداً"  
            Case Is < 75
                TextBox2.Text = "جيد"
           Case Is < 65
                TextBox2.Text = "مقبول"
           Case Is < 50
                TextBox2.Text = "راسب"
            Case Else
                TextBox2.Text = "ممتاز"
        End Select
    End If
Else
    MsgBox("الرجاء إدخال قيمة عددية")
End If

لان حسب الترتيب السابق العلامة 1 تحصل على تقدير جيد جدا

هذا والله اعلم
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم