الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بخصوص if else

بدأه الإبداع غايتي في 22 نوفمبر 2010 · 6 رد · 508 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

أخواني وأخواتي ..

أنا أستفسر عن برنامج فيجول بيسك أنا كتبت البرنامج باستخدام قاعدة if else

ولكن عند تشغيل البرنامج وكتابة أي كلمة لايظهر إلا احتمال واحد

مثلا عندما أكتب كلمة red وبعد النقر على ok يظهر nice

ومع جميع الألوان يظهر nice ولا أعلم لماذا

وهذه هي الأوامر التي كتبتها

Private Sub Command1_Click()

Dim c As String

Const s1 = "nice"

Const s2 = "Right"

Const s3 = "woow"

Const s4 = "good"

If (c = RED) Then

Text2 = "nice"

ElseIf (c = BLACK) Then

Text2 = "Right"

ElseIf (c = PINK) Then

Text2 = "woow"

ElseIf (c = BLUE) Then

Text2 = "good"

End If

End Sub

تحياتي لكم / مبرمج مبتدئ

#3

حاولت وكتبت "RED" بهذا الشكل وماضبطت معي صار البرنامج لما اشغلوا وأكتب أي لون مايطلع نتيجة...

#4

من ردودك تبين لي التالي:

1.

أنت تقارن مع المتغير c. و c متغير فارغ وجديد ولم تضع فيه شئ. يجب عليك تعبئته بالقيمة التي تدخلها. لهذا لا تخرج معك نتيجة أبداً لأنك تقارن مع فراغ وليس مع القيمة المدخلة.

2.

عليك أن تضع السطرين التاليين في بداية كل ملف كود

Option Explicit On

Options Strict On

هذين السطرين يجبرانك على أن يتم تعريف كل متغير تستخدمه اسماً ونوعاً. سبب المشكلة الأولى في أن كل شئ تدخله يعطيك نفس النتيجة هو أن الكومبايلر يعتقد أن RED هو متغير فارغ وبما أن c هو أيضاً فارغ فالنتيجة الأولى ستأتيك دائماً. عند جعل تعريف المتغيرات إجبارياً سينبهك الكومبايلر لهذا الخطأ. تذكر أن RED هكذا هو اسم متغير بينما "RED" هي قيمة نصية.

#5

هنا نستخدم textbox لنكتب فيه اسم اللون

ونستخدم label لنعرض فيه النتيجه وتستطيع ان تستغني عن label بوضع مربع نصي جديد

ومثل ما قال الاخ system down انت عملت متغير c وما اعطيته اي قيمه

وهذي طريقه ان شاء الله تفيدك

Const s1 = "Nice"

Const s2 = "Right"

Const s3 = "Woow"

Const s4 = "Good"

If (TextBox1.Text = "RED") Then

Label1.Text = s1

ElseIf (TextBox1.Text = "BLACK") Then

Label1.Text = s2

ElseIf (TextBox1.Text = "PINK") Then

Label1.Text = s3

Else

Label1.Text = s4

End If

والطريقه الاخرى

انك تنسب قيمه textBOX الى C لاحظ الكود

Dim C As String

Const s1 = "Nice"

Const s2 = "Right"

Const s3 = "Woow"

Const s4 = "Good"

C = TextBox1.Text

If (C = "RED") Then

Label1.Text = s1

ElseIf (C = "BLACK") Then

Label1.Text = s2

ElseIf (C = "PINK") Then

Label1.Text = s3

Else

Label1.Text = s4

End If

تم تعديل هذه المشاركة بواسطة Mr.Owsama في 22 نوفمبر 2010 في 07:39

#6

إضافة إلى ماذكره الإخوة الأفاضل أضيف

ضع أيضا الجملة Option Compare Text فى أعلى ملف الكود أو قم بتحويل النصوص إلى حالة واحدة Capital أو Small حتى تتم مقارنة النص بشكل صحيح

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#7

شكرا لكم جميعااا سأحاول وأوافيكم بالنتائج

مواضيع مشابهة