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

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



حذف الأسطر المكررة في الليست بوكس - ابو روضة - 08-08-19

السلام عليكم ورحمة الله وبركاته
يوجد معى داخل الليست بوكس روابط لمواضيع
لكن هناك روابط مكررة ثلاث مرات او أكثر فكيف 
أحذف المكرر ويبقى واحد منهم فقط ؟

يعنى لو  هكذا مثلا
http://vb4arb.com/vb/newthread.php?fid=183
http://vb4arb.com/vb/newthread.php?fid=183
http://vb4arb.com/vb/newthread.php?fid=183
http://vb4arb.com/vb
http://vb4arb.com/vb
http://vb4arb.com/vb

يصبحو هكذا
http://vb4arb.com/vb/newthread.php?fid=183
http://vb4arb.com/vb

وطبعا الروابط كثيرة لكن كلهم مكررين

عثرت على الحل اخوتى وهذا هو


كود :
For Row As Int16 = 0 To ListBox1.Items.Count - 2
           For RowAgain As Int16 = ListBox1.Items.Count - 1 To Row + 1 Step -1
               If ListBox1.Items(Row).ToString = ListBox1.Items(RowAgain).ToString Then
                   ListBox1.Items.RemoveAt(RowAgain)
               End If
           Next
       Next



RE: حذف الأسطر المكررة في الليست بوكس - ابراهيم ايبو - 08-08-19

السلام عليكم اخي ابو روضة
هذا كود أخر لايعتمد عل جمل الفور 
كود :
Dim strItems(ListBox1.Items.Count - 1) As String ' انشاء مصفوفة
       ListBox1.Items.CopyTo(strItems, 0) '  مصفوفة فيها كل عناصرالليست بوكس
       Dim strItems2() As String = strItems.Distinct().ToArray() ' انشاء مصفوفة جديدة عناصرها من المصفوفة الاولى بدون تكرار
       ListBox1.Items.Clear()
       ListBox1.Items.AddRange(strItems2) '  اضافة عناصر المصفوفة الثانية الى الليست بوكس



RE: حذف الأسطر المكررة في الليست بوكس - سعود - 08-08-19

وبرضو هذا
PHP كود :
       Dim lst As New List(Of String)
 
       For Each h As String In ListBox1.Items
            If Not lst
.Contains(hThen
                lst
.Add(h)
 
           End If
 
       Next
        ListBox1
.Items.Clear()
 
       ListBox1.Items.AddRange(lst.ToArray



RE: حذف الأسطر المكررة في الليست بوكس - ابو روضة - 08-08-19

(08-08-19, 10:12 PM)ابراهيم ايبو كتب : السلام عليكم اخي ابو روضة
هذا كود أخر لايعتمد عل جمل الفور 
كود :
Dim strItems(ListBox1.Items.Count - 1) As String ' انشاء مصفوفة
       ListBox1.Items.CopyTo(strItems, 0) '  مصفوفة فيها كل عناصرالليست بوكس
       Dim strItems2() As String = strItems.Distinct().ToArray() ' انشاء مصفوفة جديدة عناصرها من المصفوفة الاولى بدون تكرار
       ListBox1.Items.Clear()
       ListBox1.Items.AddRange(strItems2) '  اضافة عناصر المصفوفة الثانية الى الليست بوكس

الله يكرمك أخى ابراهيم ويبارك بعمرك...
الآن أنت أصبحت تذكرنى بالأخ الجوكر الله يطمنا عليه ويحفظه...
ما شاء الله عليك.

(08-08-19, 10:34 PM)سعود كتب : وبرضو هذا
PHP كود :
       Dim lst As New List(Of String)
 
       For Each h As String In ListBox1.Items
            If Not lst
.Contains(hThen
                lst
.Add(h)
 
           End If
 
       Next
        ListBox1
.Items.Clear()
 
       ListBox1.Items.AddRange(lst.ToArray

جزاك الله كل الخير أخى سعود وصدقنى أنت بالنسبة لى علم من أعلام المنتدى هنا
فلقد تعلمت على يديك أشياء كثيرة لم أسمع بها من قبل...
الله يحفظك.



RE: حذف الأسطر المكررة في الليست بوكس - Beginer - 09-08-19

من البداية لا تسمح بإضافة سطر موجود في الأداة هكذا
PHP كود :
Dim s "http://vb4arb.com/vb/newthread.php?fid=183"

If Not ListBox1.Items.Contains(sThen ListBox1.Items.Add(s