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

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

الصفحات: 1 2 3


التكرار في Listbox عن طريق Regex - aftfm - 15-03-13

السلام عليكم ورحمة الله و بركاته

كيف استخرج التكرار من Listbox
عن طريق الـ Regex

الـ Listbox به الاسطر التالية

101-2012-04-07-0008-212-7896-P-85214-GG1
101-2012-04-07-0008-212-7896-P-85215-GG1
101-2012-04-07-0008-212-7896-P-85214-GG1
101-2012-04-07-0008-213-7896-P-85215-GG1

والتكرار بناء على المؤشر عليها باللون الاحمر
لكن السطرو الاول ترتيبه حسب الاسطر الباقية لكن عند تلوينه اختلف ترتريه


التكرار في Listbox عن طريق Regex - aftfm - 20-03-13

هل السؤال مفهوم أم هو مستحيل


التكرار في Listbox عن طريق Regex - just.coder - 20-03-13

حب انت عايز تمسح المكرر ف اللست بوكس ؟


التكرار في Listbox عن طريق Regex - aftfm - 20-03-13

نعم او انقلة الى لسب بوكس ا خرى ولكن المكرر حسب الشروط المذكورة


التكرار في Listbox عن طريق Regex - just.coder - 20-03-13

هذا الكود لن يسمح بتكرار اى محتوى موجود ف القائمة

كود :
Dim s As String = "0"
        For i As Integer = 0 To ListBox1.Items.Count - 1
            If ListBox1.Items.Item(i) = TextBox1.Text Then
                s = "1"
            End If
        Next
        If s = "0" Then
            ListBox1.Items.Add(TextBox1.Text)
        Else
            MsgBox("المحتوى موجود ف القائمة", MsgBoxStyle.Critical)
        End If

الفكرة انو اما بتتغط اضافة محتوى مثلا موجود ف تكست بوكس 1 البرنامج يقوم بفحص محتويات الموجودة ف القائمة

وهناك سترنج يحمل القيمة 0 اذا وجد البرنامج المحتوى موجود ف القائمة يقوم بجعل قيمة هذا الاسترنج 1 وبعد الانتهاء من الفحص اذا كانت قيمة الاسترنج 0 كما هيا يقوم ب اضافة النحتوى الجديد اما اذا كانت 1 فتخرج رسالة خطا تنبهك ب ان المحتوى موجود ب الفعل ف القائمة


التكرار في Listbox عن طريق Regex - aftfm - 20-03-13

اشكرك اخي على الرد لكن المطلوب هو التشييك على ما بداخل الـ ListBox1
إن كان فيها مكرر حسب الشروط المطلوبة يتم حذف المكرر ووضعة في ListBox2


التكرار في Listbox عن طريق Regex - just.coder - 20-03-13

اتمنى ان يفيدك هذا

كود :
For i As Integer = 0 To ListBox1.Items.Count - 1
            Try
                Dim num As Integer = i
                For t As Integer = 0 To ListBox1.Items.Count - 1
                    If t = num Then
                    Else
                        Try
                            If ListBox1.Items.Item(t) = ListBox1.Items.Item(i) Then
                                ListBox1.Items.RemoveAt(t)
                            End If
                        Catch ex As Exception

                        End Try

                    End If
                Next

            Catch ex As Exception
                Exit For
            End Try

        Next



التكرار في Listbox عن طريق Regex - kslawy - 20-03-13

هذا الكود يقوم بحذف التكرارات من الـ Listbox :

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim DistinctObj = (From LBI As Object In ListBox1.Items Distinct Select LBI).Cast(Of String)().ToArray


        ListBox1.Items.Clear()
        ListBox1.Items.AddRange(DistinctObj.ToArray)




    End Sub


****
***
**
*


التكرار في Listbox عن طريق Regex - aftfm - 20-03-13

الف شكر جزاكم الله خير اخواني

لكني اريد حذف التكرار بناء على المتشابة في 101-2012-04-07-0008 هذا الجزء الأول والجزء الثاني من السطر 7896 والجزء الثالث في 85215
فقط في هذه الاجزءا من كل سطر إن تكرر يعتبر مكرر وإلا فلا يعبر مكرر



PHP كود :
101-2012-04-07-0008-212-7896-p-85215-gg1
 101
-2012-04-07-0008-212-7896-p-85214-gg1
 101
-2012-04-07-0008-213-7896-p-85215-gg1 



التكرار في Listbox عن طريق Regex - sooriaty03 - 20-03-13

السلام عليكم ورحمة الله وبركاته
تفضل أخي الكريم هذا الكود
كود :
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ModifiedList As New List(Of String)
        For I = 0 To ListBox1.Items.Count - 1
            Dim SplitText As String() = ListBox1.Items.Item(I).Split("-")
            SplitText(5) = 0
            SplitText(7) = 0
            SplitText(9) = 0
            Dim NewText As String = String.Join("-", SplitText)
            If ModifiedList.IndexOf(NewText) > -1 Then
                ListBox2.Items.Add(ListBox1.Items.Item(I))
                ListBox1.Items.RemoveAt(I)
            End If
            ModifiedList.Add(NewText)
        Next
    End Sub
End Class

بالتوفيق