10-02-25, 01:04 AM
جرب هذا التصحيح
او هذا
كود :
Dim Nran As New Random()
Dim Questions As New List(Of String)
Dim Reponses As New List(Of String)
Dim UsedQuestions As New List(Of String) ' قائمة لتخزين الأسئلة المستخدمة
Qus = {"كم عدد الجيوب الأنفية في أنف الإنسان؟", "ما هو اسم اعلى جبل في قارة افريقيا؟", "ما هو ناتج ضرب 9 و 2 ؟"}
Rep = {"8 * 6 * 7 * 9", "كليمنجارو * مزالة * غورونغوسا * آير", "18 * 20 * 14 * 16"}
Questions.AddRange(Qus)
Reponses.AddRange(Rep)
Sub LoadQuestion()
If Questions.Count = 0 Then
' إعادة تعيين الأسئلة عند انتهاء القائمة
Questions.AddRange(UsedQuestions)
UsedQuestions.Clear()
End If
Dim Nq = Nran.Next(0, Questions.Count)
lqus.Text = Questions(Nq)
UsedQuestions.Add(Questions(Nq)) ' إضافة السؤال إلى القائمة المستخدمة
Questions.RemoveAt(Nq) ' إزالة السؤال من القائمة
' تقسيم الإجابات
Rarr = Reponses(Nq).Split("*")
lcurct.Text = Rarr(0)
' ترتيب عشوائي للإجابات
Dim shuffledAnswers = Rarr.OrderBy(Function() Nran.Next()).ToArray()
For i = 1 To 4
Me.Controls(String.Format("lans{0}", i)).Text = shuffledAnswers(i - 1)
Next
' إزالة الإجابات من القائمة
Reponses.RemoveAt(Nq)
End Subاو هذا
PHP كود :
Dim Nran As New Random
Dim Qus(), Rep(), Rarr() As String
Dim Questions, Reponses As New List(Of String) ' تم تغيير ArrayList إلى List(Of String) لسهولة الإدارة
Dim LabPos, picPos, TxtBox As New ArrayList
' تعريف الأسئلة والأجوبة
Qus = {"كم عدد الجيوب الأنفية في أنف الإنسان؟", "ما هو اسم اعلى جبل في قارة افريقيا؟", ...} ' الأسئلة هنا
Rep = {"8 * 6*7 * 9", "كليمنجارو * مزالة * غورونغوسا *آير", ...} ' الأجوبة هنا
' تحميل الأسئلة والأجوبة في القوائم
Questions.AddRange(Qus)
Reponses.AddRange(Rep)
' دالة لاختيار سؤال عشوائي
Sub ShowRandomQuestion()
' التحقق من وجود أسئلة متبقية
If Questions.Count = 0 Then
MessageBox.Show("لا توجد أسئلة متبقية!")
Return
End If
' اختيار سؤال عشوائي
Dim Nq = Nran.Next(0, Questions.Count)
lqus.Text = Questions(Nq)
' تقسيم الإجابات على الخانات الأربعة
Rarr = Reponses(Nq).ToString.Split("*")
lcurct.Text = Rarr(0)
' إضافة الإجابات إلى ListBox مع ترتيب عشوائي
ListBox2.Items.Clear()
ListBox2.Items.Add(Rarr(0))
ListBox2.Items.Add(Rarr(1))
ListBox2.Items.Add(Rarr(2))
ListBox2.Items.Add(Rarr(3))
' إزالة السؤال والإجابة من القوائم بعد عرضها
Questions.RemoveAt(Nq)
Reponses.RemoveAt(Nq)
' ترتيب الإجابات بشكل عشوائي
Dim random0 As New Random()
Dim shuffledAnswers = ListBox2.Items.Cast(Of String)().OrderBy(Function() random0.Next()).ToList()
ListBox2.Items.Clear()
ListBox2.Items.AddRange(shuffledAnswers.ToArray())
' عرض الإجابات في العناصر المناسبة
For i = 1 To 4
Me.Controls(String.Format("lans{0}", i)).Text = ListBox2.Items(i - 1).ToString
Next
End Sub
' استدعاء الدالة عند الحاجة (مثلاً عند النقر على زر)
Private Sub btnNextQuestion_Click(sender As Object, e As EventArgs) Handles btnNextQuestion.Click
ShowRandomQuestion()
End SubEnd Sub
