منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طريقة انشاء كود وهمي بطريقة أخرى ! ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
جرب هذا الكود بعد تعديل خفيف على الكود الأصلي

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
10:
        Dim Code As String = ""
        Dim N1, N2 As Integer
        N1 = RandomInteger(0, 21)
        N2 = RandomInteger(0, 21)
        Do While N1 = N2
            N2 = RandomInteger(0, 21)
        Loop
        TextBox1.Text = N1 & "|" & N2
        If Not RepeatedRandomCount(TextBox1.Text) > 1 Then
            ListView1.Items.Add(TextBox1.Text)
        Else
            GoTo 10      'إذا كان الرقم مكرر مرتين سيبحث عن رقم عشوائي جديد
        End If
    End Sub
    Private Function RandomInteger(ByVal Lowerbound As Integer, ByVal Upperbound As Integer) As Integer
        Dim Rnd As New Random
        RandomInteger = Rnd.Next(Lowerbound, Upperbound)
    End Function
    Private Function RepeatedRandomCount(ByVal RandomNumber As String) As Integer
        Dim Count As Integer = 0
        For Each Item As ListViewItem In ListView1.Items
            If Item.Text = RandomNumber Then
                Count += 1
            End If
        Next
        Return Count
    End Function
sooriaty03 كتب :جرب هذا الكود بعد تعديل خفيف على الكود الأصلي

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
10:
        Dim Code As String = ""
        Dim N1, N2 As Integer
        N1 = RandomInteger(0, 21)
        N2 = RandomInteger(0, 21)
        Do While N1 = N2
            N2 = RandomInteger(0, 21)
        Loop
        TextBox1.Text = N1 & "|" & N2
        If Not RepeatedRandomCount(TextBox1.Text) > 1 Then
            ListView1.Items.Add(TextBox1.Text)
        Else
            GoTo 10      'إذا كان الرقم مكرر مرتين سيبحث عن رقم عشوائي جديد
        End If
    End Sub
    Private Function RandomInteger(ByVal Lowerbound As Integer, ByVal Upperbound As Integer) As Integer
        Dim Rnd As New Random
        RandomInteger = Rnd.Next(Lowerbound, Upperbound)
    End Function
    Private Function RepeatedRandomCount(ByVal RandomNumber As String) As Integer
        Dim Count As Integer = 0
        For Each Item As ListViewItem In ListView1.Items
            If Item.Text = RandomNumber Then
                Count += 1
            End If
        Next
        Return Count
    End Function

[SIZE=4]
ظهرلي هذا الخطأ

[ATTACH=CONFIG]1486[/ATTACH][/SIZE]
Osama_Ghareeb كتب :إيش بدك من الأمر بالضبط ؟؟ يطلع المكرر بس ؟ ولا ما بيحث عن المكرر ؟ ولا...

هذا طلبي بالكامل ,,
اخي بدي اياه يضيف رقم عشوائي 1|2 بحيث ان الرقميين الموجودة بين | يكونوا مختلفين عن بعض مثل 1|2 ولااا يكونوا 2|2 ..... وايضا يقوم بالبحث في جداول listvewListView واذا وجد مكرر أكثر من اثنين يعني اذا وجد نفس القيمة مرتان فلا مشكله بل الثالثة يقوم بتوليد قيمه عشوائيه جديده ولا يضيف الرقم واحد ولا يضيف الرقم اثنين 1|2 .
shado1796 كتب :

[SIZE=4]
ظهرلي هذا الخطأ

[ATTACH=CONFIG]1486[/ATTACH][/SIZE]

أخي الكريم الخطأ الذي ظهر لك هو رقم السطر المراد الذهاب إليه في حال وجد البرنامج تكرار للرقم العشوائي مرتين لتوليد رقم عشوائي غير مكرر فالمطلوب أنك تضع رقم السطر في بداية الكود - لاحظ اللون الأحمر
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Code As String = ""
        Dim N1, N2 As Integer
[color=#FF0000]10:[/color]
        N1 = RandomInteger(0, 21)
        N2 = RandomInteger(0, 21)
        Do While N1 = N2
            N2 = RandomInteger(0, 21)
        Loop
        TextBox1.Text = N1 & "|" & N2
        If Not RepeatedRandomCount(TextBox1.Text) > 1 Then
            ListView1.Items.Add(TextBox1.Text)
        Else
            GoTo 10      'إذا كان الرقم مكرر مرتين سيبحث عن رقم عشوائي جديد
        End If
    End Sub
    Private Function RandomInteger(ByVal Lowerbound As Integer, ByVal Upperbound As Integer) As Integer
        Dim Rnd As New Random
        RandomInteger = Rnd.Next(Lowerbound, Upperbound)
    End Function
    Private Function RepeatedRandomCount(ByVal RandomNumber As String) As Integer
        Dim Count As Integer = 0
        For Each Item As ListViewItem In ListView1.Items
            If Item.Text = RandomNumber Then
                Count += 1
            End If
        Next
        Return Count
    End Function
فبدون هذا الرقم لن يعمل البرنامج
بالتوفيق
شكرا أخي .. لم انتبه .. لكن يوجد مشكلة وهي [COLOR="#FF0000"]انه لا يضيف.. مثلا : 1|2 مرتان ومن ثم يبدأ بغيرهم مثل 3|2 مرتان .. وهكذا ولا يضيف غيرهم ..
في آخر الموضوع انا اصمم برنامج يقوم بتوزيع اعضاء على مجموعات في كل يوم .. عضو يشرف على مجموعه لكني اريد في كل مجموعه اثنان ولهذا السبب اريده ان يضيف 1|2 ومعناها في المجموعه يوجد قسمين ومعنى 1|2 انه في الفترة الأولى مجموعه رقم 1 وفي الفتره الثانية مجموعه رقم 2 يعني = 1|2
[/COLOR]
هل من رد ؟؟؟
هل تقصد أن كل رقم عشوائي يكرر مرتين متتابعين ومن ثم يضاف رقم عشوائي آخر ويكرر مرتين وهكذا .... ؟
sooriaty03 كتب :هل تقصد أن كل رقم عشوائي يكرر مرتين متتابعين ومن ثم يضاف رقم عشوائي آخر ويكرر مرتين وهكذا .... ؟

علييييييك نووور هذا هو مقصدي وهذا ما هو احاول شرحه يعطيك العافية
تفضل يا غالي

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Code As String = ""
        Dim N1, N2 As Integer
10:
        N1 = RandomInteger(0, 21)
        N2 = RandomInteger(0, 21)
        Do While N1 = N2
            N2 = RandomInteger(0, 21)
        Loop
        TextBox1.Text = N1 & "|" & N2
        If Not RepeatedRandomCount(TextBox1.Text) > 1 Then
            ListView1.Items.Add(TextBox1.Text)
            ListView1.Items.Add(TextBox1.Text)
        Else
            GoTo 10      'إذا كان الرقم مكرر مرتين سيبحث عن رقم عشوائي جديد
        End If
    End Sub
    Private Function RandomInteger(ByVal Lowerbound As Integer, ByVal Upperbound As Integer) As Integer
        Dim Rnd As New Random
        RandomInteger = Rnd.Next(Lowerbound, Upperbound)
    End Function
    Private Function RepeatedRandomCount(ByVal RandomNumber As String) As Integer
        Dim Count As Integer = 0
        For Each Item As ListViewItem In ListView1.Items
            If Item.Text = RandomNumber Then
                Count += 1
            End If
        Next
        Return Count
    End Function
بالتوفيق
انت اضفت الامر
كود :
ListView1.Items.Add(TextBox1.Text)

لكن لم يعمل فرق للاسف :confused:
الصفحات : 1 2 3 4