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

كود ناقص [في دالة If ]

بدأه وفاء ثابت في 25 ديسمبر 2008 · 6 رد · 734 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

......... أرجوكم أريد مساعدتي في هذا الكود لم أستطع إكماله

.. ومعنى هذا الكود هو تمرين ..عندما يدخل المستخدم حرف A في التكست الأول يقوم بإخفاء التكست وإظهار صوره نجوم

وعندما يدخل المستخدم حرف آخر يقوم بإظهار صورة خطأ

... وعندما يقوم المستخدم بالحل الصحيح لجميع التكست وهي 4 عند آخر تكست يخفي جميع صور النجوم ويقوم بإظهار صوره أخرى كبيره ـ

هنا الكود صحيح ... ولكن الصورهـ الكبيره P5 لاتظهر .. لا أعلم لماذا

>>>>>>>>>>>>>

Dim txt As String

If Len(T1.Text) = 1 Then

txt = LCase(T1.Text)

If txt = "a" Then

P1.Show()

P6.Hide()

T1.Visible = False

Else

P6.Show()

If T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P5.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

End If

End If

End If

أرجوا منكم مساعدتي فأنا أريده عااااااااجل ...

جزاكم الله خيرا

وشكراً لكم مقدماً :blush:

تم تعديل هذه المشاركة بواسطة وفاء ثابت في 25 ديسمبر 2008 في 18:24

#2

حسب فهمي للموضوع

Dim txt As String

If Len(T1.Text) = 1 Then

txt = LCase(T1.Text)

If txt = "a" Then

P1.Show()

P6.Hide()

T1.Visible = False

Else

P6.Show()

End if

End if

طبعاً الكود السابق يتكرر لكل مربع نص من الاربع

If T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P5.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

End If

تم تعديل هذه المشاركة بواسطة حسن يوسف في 25 ديسمبر 2008 في 19:03

#3

مرحباً .

قبل أن أبدأ علي اخبارك بشيء ما وهو أن تستخدم الخاصية Tag بإضافة المفتاح الخاص بكل TextBox اي T1.Tag = "a" >>>>

Private Sub TS_TextChanged(Byval Sender As System.Object, Byval Ev As System.EventArgs ) Handles T1.TextChanged, T2.TextChanged, T3.TextChanged, T4.TextChanged

Dim CT As TextBox = DirectCast( Sender, TextBox )

If CT.Text = String.Empty Or CT.TextLength > 1 Then P6.Visible = True : Exit Sub

CT.Visible = Not (CT.Text.ToLower() = CT.Tag.ToString() )

P6.Visible = CT.Visible

P5.Visible = CheckVisible

End Sub

Private Function CheckVisible() As Boolean

P1.Visible = Not T1.Visible

P2.Visible = Not T2.Visible

P3.Visible = Not T3.Visible

P4.Visible = Not T4.Visible

Return Not ( T1.Visible And T2.Visisble And T3.Visible And T4.Visible )

End Function

إذا لم ينجح هذا الحل, الرجاء الشرح بشكل ادق, أي على سبيل المثال :

بالنسبة لـ T1.Text = a

بالنسبة لـ T2.Text = b

بالنسبة لـ T3.Text = c

بالنسبة لـ T4.Text = e

عندما يكون الـ T1.Text = a يجب أن يعرض P1 وإذا لم يكن يساوي القيمة المحددة ( a ) إذا الـ P1 يجب أن لايعرض بل يجب أن يعرض الـ P6 ....

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#4

جزاكم الله خيرا ...

الكود لم يتنفذ معي !

هذا مثال لتفهموا المقصود ...

اضغطوا هنا رجاءً

وهنا التطبيق صحيح ،، ولكن اريد عندما يكتب المستخدم جميع الإجابات صحيحه وهي مجموع أربعة تكست يعني

التكست الأول من جهة اليسار =t1=a

التكست الثاني من جهة اليسار t2=b

التكست الثالث من جهة اليسار =t3=c

التكست الرابع من جهة اليسار =t4=d

فإذا أدخل المستخدم جميع الحروف صحيحه في مكانها فإنه تظهر صورهـ كبيره بها ديناصور وهي p9

والمشكله عندي أن الصورهـ الكبيره لا تظهر مع أني قمت بكتابة الكود اللازم ..

أرجو منكم التنبه لخطأي وإعلامي به في أسرع وقت ممكن ///

جزاكم الله خيراً

أنا بانتظااااركم :blush:

#5

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

تم حل المشكلة ولانني استخدم فيجوال 2008 وانت لديك اصدار اقدم ويمكن ما يعمل معاك لذلك كتبت لك الكود كاملا وارفقت ايضاً المشروع

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

P5.Hide()

P6.Hide()

P7.Hide()

P8.Hide()

P9.Hide()

End Sub

Private Sub T1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T1.TextChanged

Dim txt As String

If Len(T1.Text) = 1 Then

txt = LCase(T1.Text)

If txt = "a" Then

P1.Show()

P5.Hide()

T1.Visible = False

Else

P5.Show()

End If

End If

If T1.Visible = False And T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P9.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

End If

End Sub

Private Sub T2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T2.TextChanged

Dim txt As String

If Len(T2.Text) = 1 Then

txt = LCase(T2.Text)

If txt = "b" Then

P2.Show()

P6.Hide()

T2.Visible = False

Else

P6.Show()

End If

End If

If T1.Visible = False And T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P9.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

End If

End Sub

Private Sub T3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T3.TextChanged

Dim txt As String

If Len(T3.Text) = 1 Then

txt = LCase(T3.Text)

If txt = "c" Then

P3.Show()

P7.Hide()

T3.Visible = False

Else

P7.Show()

End If

End If

If T1.Visible = False And T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P9.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

End If

End Sub

Private Sub T4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T4.TextChanged

Dim txt As String

If Len(T4.Text) = 1 Then

txt = LCase(T4.Text)

If txt = "d" Then

P4.Show()

P8.Hide()

T4.Visible = False

Else

P8.Show()

End If

End If

If T1.Visible = False And T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P9.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

End If

End Sub

End Class

الكود مجرب وشغال 100%

ttt2.rar

تم تعديل هذه المشاركة بواسطة حسن يوسف في 26 ديسمبر 2008 في 15:26

#6

جزاك الله خيرااااااااااااا

لقد تنفذ ولله الحمد ..

إذن كانت الزياده فقط في دالة if الأخيره

حيث أنني لم أضع التكست اللي أنا شغاله عليه

If T1.Visible = False And T2.Visible = False And T3.Visible = False And T4.Visible = False Then

P9.Show()

P1.Hide()

P2.Hide()

P3.Hide()

P4.Hide()

وهكذا في كل مثال ..

متشكره لك

#7

حياك الله

هو في الحقيقه الخطأ الرئيسي في موضع

If T1.Visible = False And T2.Visible = False And T3.Visible = False Then

حيث كان يتم التشييك على هذا الشرط في حالة ان الجواب خطأ في حين ان المفترض ان يتم فحص الحالة عند الجواب الصحيح

والخطأ الاخر البسيط هو عدم ادراج T4.Visible=False وبالتالي لو ان المستخدم ادخل الاجابات الثلاث الاولى صحيحة فستظهر الصورة دون النظر للمربع الاخير

لا داعي للشكر نحن اخوة والكل يساعد بما يستطيع والفضل لله وحده

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