منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف أصنع برنامج يقوم بعمل قرعة على أسماء - نسخة قابلة للطباعة

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

الصفحات: 1 2 3


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - elta - 22-08-13

هل يمكن تعديله و جعله يعيد ترتيب الليست و الإضافات الأخرى و إعطائي السورس


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - MSDOS - 22-08-13

elta كتب :هل يمكن تعديله و جعله يعيد ترتيب الليست و الإضافات الأخرى و إعطائي السورس

انت تقصد خلط ترتيب الليست بشكل عشوائي أم اختيار اسم واحد من الليست

وماذا تقصد بالإضافات الأخرى


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - elta - 22-08-13

انت تقصد خلط ترتيب الليست بشكل عشوائي


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - elta - 22-08-13

الإضافات إقرأ الموضوع


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - MSDOS - 22-08-13

استخدمت دالة للعضو @@أبورائد@@

جربتها كالتالي
كود :
Public Class Form1

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click

        If Me.ListBox1.Items.Count > 0 Then
            Dim arr() As Integer = RageRandom(0, Me.ListBox1.Items.Count - 1)
            Dim itm() As Object = New ArrayList(Me.ListBox1.Items).ToArray
            Me.ListBox1.Items.Clear()
            For Each i As Integer In arr
                Me.ListBox1.Items.Add(itm(i))
            Next
        End If

    End Sub


#Region " RageRandom (minValue As Integer, maxValue As Integer) As Array "
    Public Function RageRandom(ByVal minValue As Integer, ByVal maxValue As Integer) As Array
        If (minValue < 0) Or (minValue >= maxValue) Then Return Nothing
        minValue += 1 : maxValue += 1
        Dim mArray(maxValue - minValue) As Integer
        For i = 0 To (maxValue - minValue)
[lp]:       Randomize()
            Dim mValue As Integer = CInt(Int((maxValue * Rnd()) + minValue))
            For Each r In mArray
                If mValue = r Or mValue > maxValue Then GoTo [lp]
            Next
            mArray(i) = mValue
        Next
        For i = 0 To mArray.Length - 1
            mArray(i) -= 1
        Next
        Return mArray
    End Function
#End Region


    Private Sub Button1_Click_1(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        ListBox1.Items.Add(TextBox2.Text)
    End Sub

    Private Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
        ListBox1.Items.Remove(ListBox1.SelectedItem)
    End Sub

End Class



كيف أصنع برنامج يقوم بعمل قرعة على أسماء - الشاكي لله - 22-08-13

MSDOS كتب :استخدمت دالة للعضو @@أبورائد@@

جربتها كالتالي
كود :
Public Class Form1

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click

        If Me.ListBox1.Items.Count > 0 Then
            Dim arr() As Integer = RageRandom(0, Me.ListBox1.Items.Count - 1)
            Dim itm() As Object = New ArrayList(Me.ListBox1.Items).ToArray
            Me.ListBox1.Items.Clear()
            For Each i As Integer In arr
                Me.ListBox1.Items.Add(itm(i))
            Next
        End If

    End Sub


#Region " RageRandom (minValue As Integer, maxValue As Integer) As Array "
    Public Function RageRandom(ByVal minValue As Integer, ByVal maxValue As Integer) As Array
        If (minValue < 0) Or (minValue >= maxValue) Then Return Nothing
        minValue += 1 : maxValue += 1
        Dim mArray(maxValue - minValue) As Integer
        For i = 0 To (maxValue - minValue)
[lp]:       Randomize()
            Dim mValue As Integer = CInt(Int((maxValue * Rnd()) + minValue))
            For Each r In mArray
                If mValue = r Or mValue > maxValue Then GoTo [lp]
            Next
            mArray(i) = mValue
        Next
        For i = 0 To mArray.Length - 1
            mArray(i) -= 1
        Next
        Return mArray
    End Function
#End Region


    Private Sub Button1_Click_1(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        ListBox1.Items.Add(TextBox2.Text)
    End Sub

    Private Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
        ListBox1.Items.Remove(ListBox1.SelectedItem)
    End Sub

End Class


100%

بالتوفيق



كيف أصنع برنامج يقوم بعمل قرعة على أسماء - elta - 23-08-13

لكن أريد كود إعادة ترتيب القائمة عشوائيا


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - 3booody - 23-08-13

[COLOR="#0000FF"]اخي بما انك تريد قرعة بمعنى الاسم مايصير يظهر مره ثانية واذا عملت ترتيب عشوائي احتمال يختار نفس الاسم عشوائيآ فالافضل

اولآ حفظ الاسماء في ليست
ثانيآ عند اختيار اسم يزال من اللست
ثالثآ في حالة افراغ اللست تضيفها عادي جدآ مثل الاول
موفق
[/COLOR]


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - MSDOS - 23-08-13

elta كتب :مشاركة #17
لكن أريد كود إعادة ترتيب القائمة عشوائيا

سلامات أخوي، الكود اللي أعطيك إيش يعمل عاد، إذا كان أخونا المبدع الشاكي لله أعطاني فيه 100%.

وزي ما قال أخوي 3booody لازم ما تعيد خلط القائمة مرة أخرى وتكتفي بأخذ الأسماء عنصر خلف عنصر من القائمة إلين تخلص القائمة.


كيف أصنع برنامج يقوم بعمل قرعة على أسماء - elta - 23-08-13

لكن أريد كود لخلط القائمة فقط