منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] Random string - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] Random string (/showthread.php?tid=29308)



Random string - Mohamed20 - 09-04-19

لو عندي 2 array واحدة string و الاخري int 

كود :
Dim test = New Integer() {1, 2, 3}
       Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
و عندي 

كود :
       Dim random = New Random()
على اساس test مثلآ اذا كانت test = 3 يتم اختيار 3 اختيارات من قائمة str مختلفة مثلآ test2 test4 test1

كود :
    Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
       Dim test = New Integer() {1, 2, 3}

       Dim random = New Random()
       If test(random.Next(1, 3)) = 3 Then
           MsgBox($"{str(random.Next(1, 3))}-{str(random.Next(1, 3))}-{str(random.Next(1, 3))}")
       ElseIf test(random.Next(1, 3)) = 2 Then
           MsgBox($"{str(random.Next(1, 3))}-{str(random.Next(1, 3))}")
       ElseIf test(random.Next(1, 3)) = 1 Then
           MsgBox(str(random.Next(1, 3)))
       End If

مثل هذا يتم تكرار الاختيار مثل Test1-Test3-Test1 هل يوجد حل لي هذا ؟


RE: Random string - بدري - 09-04-19

هذا الكود يحضر عدد عشوائي من المصفوفه
كود :
       ListBox1.Items.Clear()
       Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
       Dim test = 3
       If test > str.Count Then
           MsgBox("العدد المطلوب أكبر من العناصر الموجوده")
           Exit Sub
       End If
       Dim lst As New List(Of String)
       Dim random = New Random()
       For i = 0 To test - 1
           Do
               Dim a = random.Next(0, str.Count)
               If Not lst.Contains(str(a)) Then
                   lst.Add(str(a))
                   Exit Do
               End If
           Loop
       Next
       ListBox1.Items.AddRange(lst.ToArray)



RE: Random string - Mohamed20 - 10-04-19

(09-04-19, 09:18 PM)بدري كتب : هذا الكود يحضر عدد عشوائي من المصفوفه
كود :
       ListBox1.Items.Clear()
       Dim str = New String() {"Test1", "Test2", "Test3", "Test4"}
       Dim test = 3
       If test > str.Count Then
           MsgBox("العدد المطلوب أكبر من العناصر الموجوده")
           Exit Sub
       End If
       Dim lst As New List(Of String)
       Dim random = New Random()
       For i = 0 To test - 1
           Do
               Dim a = random.Next(0, str.Count)
               If Not lst.Contains(str(a)) Then
                   lst.Add(str(a))
                   Exit Do
               End If
           Loop
       Next
       ListBox1.Items.AddRange(lst.ToArray)

شكرأ اخي