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

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

كيف استخرج التكرار من 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

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

كود :
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 فتخرج رسالة خطا تنبهك ب ان المحتوى موجود ب الفعل ف القائمة
اشكرك اخي على الرد لكن المطلوب هو التشييك على ما بداخل الـ ListBox1
إن كان فيها مكرر حسب الشروط المطلوبة يتم حذف المكرر ووضعة في ListBox2
اتمنى ان يفيدك هذا

كود :
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 :

كود :
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


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

لكني اريد حذف التكرار بناء على المتشابة في 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 
السلام عليكم ورحمة الله وبركاته
تفضل أخي الكريم هذا الكود
كود :
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

بالتوفيق
الصفحات : 1 2 3