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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=42119)



سؤال - elnaggarsoft - 09-08-22

كيف يمكن خذف الصفوف المتشابهة المكررة باللست بوكس مثال ( السبت - الاحد ) , ( الاحد - السبت )


RE: سؤال - سعود - 09-08-22

ياليت مزيد من التفاصيل:
هل البيانات من جدول في القاعدة؟
ان كانت من جدول في قاعدة بيانات فيمكنك صياغة جملة استعلام SELECT DISTINCT Syntax


RE: سؤال - معاند الحظ - 11-08-22

استخدم الكود التالي اذا كنت تريد حذف عناصر ليست بوكس المتكررة

1- ضع زر اسمه Button1 على الفورم
2- انسخ والصق الكود التالي

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

    Sub checkforduplicate()
        For a As Integer = 0 To ListBox1.Items.Count - 1
            For b As Integer = a + 1 To ListBox1.Items.Count - 1
                If ListBox1.Items(b) = ListBox1.Items(a) Then
                    ListBox1.Items.RemoveAt(b)
                    GoTo l1
                End If
            Next
        Next
        Exit Sub
l1:
        checkforduplicate()
    End Sub



RE: سؤال - ابراهيم ايبو - 11-08-22

السلام عليكم ورحمة الله وبركاته
اخوتي الكرام
بارك الله بكم جميعا
من باب الاستزادة في المعرفة وتنويع الطرق اليكم 3 اكواد اخرى
الكود الاول
كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       'حلقتين متعاكستين
       For i As Integer = 0 To ListBox1.Items.Count - 2
           For X As Integer = ListBox1.Items.Count - 1 To i + 1 Step -1
               If ListBox1.Items(i).ToString.ToLower() = ListBox1.Items(X).ToString().ToLower() Then
                   ListBox1.Items.RemoveAt(X)
               End If
           Next
       Next
   End Sub
الكود الثاني
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
           If ListBox1.FindStringExact(ListBox1.Items(i)) <> i Then
               ListBox1.Items.RemoveAt(i)
           End If
       Next
   End Sub
الكود الثالث وله عيب بأنه حساس لحالة الاحرف (الانكليزي )
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       '  انشاءليست من عناصر الليست بوكس بدون تكرار
   Dim items = ListBox1.Items.Cast(Of String)().Distinct().ToArray()
       ListBox1.Items.Clear()
   '   اضافة العناصر الى الليست من جديد    
       For Each item In items
           Me.ListBox1.Items.Add(item)
       Next
   End Sub
ملاحظة : الاكواد الثلاثة عند تعاملها مع النص العربي ستفرق بين الالف والعادية والالف الممدودة والمهموزة ويجب ان يكون العنصر المكرر مطابق تماما حتى يتم خذفه