02-10-18, 01:30 AM
(02-10-18, 01:23 AM)rnmr كتب : جرب هذاالله الله عليك يا فنان الف شكر اخي الغالي
كود :
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Read_m3u()
End Sub
' متغير للإحتفاظ بالعناصر الأصلية كاملة
Dim originalItems As New List(Of ListViewItem)
Private Sub Read_m3u()
' قراءة الملف على شكل مصفوفة نصية
Dim Lines As String() = IO.File.ReadAllLines("trakktour.m3u")
Dim row(1) As String
' تعبئة متغير العناصر الأصلية كاملة
For Each line As String In Lines
If line.Trim.StartsWith("#EXTINF") Then
row(0) = line.Split(",")(1)
ElseIf line.Trim.StartsWith("http://") Then
row(1) = line.Trim
originalItems.Add(New ListViewItem(row))
End If
Next
' عرض العناصر من متغير العناصر الأصلية كاملة
Me.ListView1.Items.AddRange(originalItems.ToArray)
End Sub
' متغير لوضع العناصر الناتجة من البحث
Dim resultItems As New List(Of ListViewItem)
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged
' إفراغ متغير العناصر الناتجة استعداداً لوضع نتائج بحث جديدة
resultItems.Clear()
' تعبئة متغير العناصر الناتجة من البحث
For Each itm As ListViewItem In originalItems
' Equals مطابقة كامل النص
'If itm.SubItems(0).Text.Trim.ToLower.Equals(Me.TextBox1.Text.Trim.ToLower) Then resultItems.Add(itm)
' Contains مطابقة أي جزء من النص
If itm.SubItems(0).Text.Trim.ToLower.Contains(Me.TextBox1.Text.Trim.ToLower) Then resultItems.Add(itm)
' ToLower تحويل النص إلى الأحرف الصغيرة
' Trim حذف المسافات قبل وبعد النص
Next
' إفراغ أدات الليست فيو من العناصر استعداداً لعرض عناصر حسب النتيجة
Me.ListView1.Items.Clear()
If TextBox1.Text.Trim <> "" Then
' عرض العناصر الناتجة من البحث
Me.ListView1.Items.AddRange(resultItems.ToArray)
Else
' عرض العناصر الأصلية كاملة
Me.ListView1.Items.AddRange(originalItems.ToArray)
End If
End Sub
شغاااال و ب امتياز
