تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] محتاج مساعده ضروري لو سمحتم
#1
السلام عليكم ورحمة الله وبركاته 
انا جديد في المنتدي ومحتاج مساعده في برنامج بصممة في  (((2008 visual basic)))  
محتاج دالة  او كود  يختار 12 عنصر عشوائي من listbox (عناصر  listbox  سوف يدخلها المستخدم ) ويظهر في labels  
انا جربت هذا الكود بس وقع الاختيار علي نفس العنصر يعني ال 12 label صار فيهم نفس العنصر Huh :
((label1.text= ListBox1.Items(New Random(Now.Millisecond).Next(0, ListBox1.Items.Count
وارجو المساعده من فضلكم  Blush
و تحياتي لكل اعضاء هذا المنتدى الرائع Rolleyes
الرد }}}
تم الشكر بواسطة:
#2
ما ينفع تعريف New Random في نفس الأمر
لازم يتم تعريف New Random خارج حدث الButton مثل
كود :
Dim r As New Random()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Label1.text= ListBox1.Items(r.Next(0, ListBox1.Items.Count))
End Sub
الرد }}}
تم الشكر بواسطة: البراء محمد
#3
PHP كود :
 Friend Sub RandomListBoxItems(values As IListstartIndex As IntegerlastIndex As Integerrnd As Random)
 
       For i As Integer startIndex 1 To lastIndex 1
            Dim index 
As Integer rnd.Next(startIndex 1) + startIndex
            Dim value 
As Object values(i)
 
           values(i) = values(index)
 
           values(index) = value
        Next
    End Sub 

الإستخدام 

أفترض أن المدخلات عندك كلها عبارة عن String
أيضا أفترض ان تريد التحقق من ان عدد العناصر الموجودة في الليست بوكس اكثر من 12
أيضا أفترض ان عدد العناصر لن يتعدي 12 عنصر في المصفوفة التي تم عمل Randomize  لها

PHP كود :
      Dim items As List(Of String) = ListBox1.Items.OfType(Of String)().ToList()
 
       If Not items Is Nothing AndAlso items.Count >= 11 Then
            RandomListBoxItems
(items0items.Count 1, New Random(items.Count 1))
 
       End If

 
       Dim result As List(Of String) = New List(Of String)()
 
       For i As Integer 0 To 11
            result
.Add(items(i))
 
       Next

        Label1
.Text items(0
الرد }}}
تم الشكر بواسطة: البراء محمد , البراء محمد
#4
(05-04-16, 04:47 PM)silverlight كتب :
PHP كود :
 Friend Sub RandomListBoxItems(values As IListstartIndex As IntegerlastIndex As Integerrnd As Random)
 
       For i As Integer startIndex 1 To lastIndex 1
            Dim index 
As Integer rnd.Next(startIndex 1) + startIndex
            Dim value 
As Object values(i)
 
           values(i) = values(index)
 
           values(index) = value
        Next
    End Sub 

الإستخدام 

أفترض أن المدخلات عندك كلها عبارة عن String
أيضا أفترض ان تريد التحقق من ان عدد العناصر الموجودة في الليست بوكس اكثر من 12
أيضا أفترض ان عدد العناصر لن يتعدي 12 عنصر في المصفوفة التي تم عمل Randomize  لها

PHP كود :
      Dim items As List(Of String) = ListBox1.Items.OfType(Of String)().ToList()
 
       If Not items Is Nothing AndAlso items.Count >= 11 Then
            RandomListBoxItems
(items0items.Count 1, New Random(items.Count 1))
 
       End If

 
       Dim result As List(Of String) = New List(Of String)()
 
       For i As Integer 0 To 11
            result
.Add(items(i))
 
       Next

        Label1
.Text items(0
اخي silver  لو سمحت انا ما عملت مصفوفة 
انا عملت 12 label   لما يتم الضغط علي button 6  يكون فيهم 12 عنصر عشوائي من listbox  وما يتكرر اختيار العنصر 
(ملحوظة انا طالب عمري 15 سنه و بتعلم فيجوال بيسيك في المدرسة وما اعرف يعني ايه مصفوفة اصلا )

(05-04-16, 02:15 PM)ممدوح كتب : ما ينفع تعريف New Random في نفس الأمر
لازم يتم تعريف New Random خارج حدث الButton مثل
كود :
Dim r As New Random()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   Label1.text= ListBox1. Items(r.Next(0, ListBox1.Items.Count))
End Sub
شكرا اخي ما اختار نفس العنصر  بس في عناصر تكرر اختيارها
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: