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