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

نسخة كاملة : سؤال حول ListView
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم احبابي في الله
عندي سؤال
كيف افتح ملف على ListView
هذا مثال للملف الذي سأفتحه

كود :
#EXTM3U
#EXTINF:-1,AR:Saudi Quran
http://167.99.193.120:8000/live/walidclasico/LbE7uZEk1m/4526.ts
#EXTINF:-1,AR:Salam TV
http://167.99.193.120:8000/live/walidclasico/LbE7uZEk1m/4569.ts
#EXTINF:-1,AR:Resala
http://167.99.193.120:8000/live/walidclasico/LbE7uZEk1m/4530.ts
#EXTINF:-1,AR:Makkah
http://167.99.193.120:8000/live/walidclasico/LbE7uZEk1m/4527.ts

حيث AR:Saudi Quran تكون في الخانة الاولى و الرابط في الثانية
هذا ملف قنوات IPTV   m3u
يمكن قراءته كملف تكست


اعتقد هذا الكود سيفى بالغرض

كود :
   Sub Read_m3u(txtfile As String, dgv As DataGridView)
       Dim Lines As String() = IO.File.ReadAllLines("tv.m3u")
       Dim dt As New DataTable
       dgv.Columns.Clear()
       dgv.ColumnCount = 2
       Dim row(1) As String

       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               'row(0) = line.Split(",")(1).Trim
               row(0) = line.Replace("#EXTINF:-1,", "").Trim
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               dgv.Rows.Add(row)
           End If
       Next
   End Sub
(12-05-18, 10:05 AM)mrnooo2000 كتب : [ -> ]هذا ملف قنوات IPTV   m3u
يمكن قراءته كملف تكست


اعتقد هذا الكود سيفى بالغرض

كود :
   Sub Read_m3u(txtfile As String, dgv As DataGridView)
       Dim Lines As String() = IO.File.ReadAllLines("tv.m3u")
       Dim dt As New DataTable
       dgv.Columns.Clear()
       dgv.ColumnCount = 2
       Dim row(1) As String

       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               'row(0) = line.Split(",")(1).Trim
               row(0) = line.Replace("#EXTINF:-1,", "").Trim
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               dgv.Rows.Add(row)
           End If
       Next
   End Sub

شكرا لك اخي
ممكن بأداة OpenFileDialog
و حذف #EXTINF:0,
يعني الاسم فقط يظهر
بالتعديل على كود الاخ [b]mrnooo2000[/b]

قم باستخدام الكود التالى اعلى او اسفل Public Class Form1
كود :
Sub Read_m3u(dgv As DataGridView)
       Dim result As DialogResult = OpenFileDialog1.ShowDialog()
       Dim Lines As String() = IO.File.ReadAllLines(OpenFileDialog1.FileName)
       Dim dt As New DataTable
       dgv.Columns.Clear()
       dgv.ColumnCount = 2
       Dim row(1) As String

       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               row(0) = line.Replace("#EXTINF:-1,", "").Trim
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               dgv.Rows.Add(row)
           End If
       Next
   End Sub

قم بانشاء كلاً من
1- OpenFileDialog1
2- Button1
3- DataGridView1

ثم قم بالضغط مرتين على Button1 وقم بادراج السطر التالى
كود :
Read_m3u(DataGridView1)

قم بتشغيل المشروع واستمتع

بالتوفيق
(12-05-18, 08:38 PM)elgokr كتب : [ -> ]
بالتعديل على كود الاخ [b]mrnooo2000[/b]

قم باستخدام الكود التالى اعلى او اسفل Public Class Form1
كود :
Sub Read_m3u(dgv As DataGridView)
       Dim result As DialogResult = OpenFileDialog1.ShowDialog()
       Dim Lines As String() = IO.File.ReadAllLines(OpenFileDialog1.FileName)
       Dim dt As New DataTable
       dgv.Columns.Clear()
       dgv.ColumnCount = 2
       Dim row(1) As String

       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               row(0) = line.Replace("#EXTINF:-1,", "").Trim
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               dgv.Rows.Add(row)
           End If
       Next
   End Sub

قم بانشاء كلاً من
1- OpenFileDialog1
2- Button1
3- DataGridView1

ثم قم بالضغط مرتين على Button1 وقم بادراج السطر التالى
كود :
Read_m3u(DataGridView1)

قم بتشغيل المشروع واستمتع

بالتوفيق
شكرا لك اخي الغالي
لو ممكن تغيير DataGridView ب Listview
و حذف EXTINF يعني يبقى الاسم فقط
(13-05-18, 01:26 AM)trakktour كتب : [ -> ]شكرا لك اخي الغالي
لو ممكن تغيير DataGridView ب Listview
و حذف EXTINF يعني يبقى الاسم فقط


ولا يهمك اخى الكريم
تفضل الكود الخاص بـ Listview

كود :
Sub Read_m3u()
       Dim result As DialogResult = OpenFileDialog1.ShowDialog()
       Dim Lines As String() = IO.File.ReadAllLines(OpenFileDialog1.FileName)
       Dim dt As New DataTable
       Dim row(1) As String
       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               row(0) = line.Replace("#EXTINF:-1,", "").Trim
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               Dim a As ListViewItem
                a = ListView1.Items.Add(row(0))
               a.SubItems.Add(row(1))
           End If
       Next
   End Sub

كود الزر الخاص بـ button
كود :
Read_m3u()

تذكر عند انشاء Listview
قم بانشاء عدد 2 Columns
وليكن اسم الاول [اسم القناه] واسم الاخر [رابط القناه]

بخصوص EXTINF 
هذا الشكل عند تطبيق الكود

وقم بالتجربة وسيعمل معك
تمنياتى لك التوفيق
(13-05-18, 02:35 AM)elgokr كتب : [ -> ]
(13-05-18, 01:26 AM)trakktour كتب : [ -> ]شكرا لك اخي الغالي
لو ممكن تغيير DataGridView ب Listview
و حذف EXTINF يعني يبقى الاسم فقط


ولا يهمك اخى الكريم
تفضل الكود الخاص بـ Listview

كود :
Sub Read_m3u()
       Dim result As DialogResult = OpenFileDialog1.ShowDialog()
       Dim Lines As String() = IO.File.ReadAllLines(OpenFileDialog1.FileName)
       Dim dt As New DataTable
       Dim row(1) As String
       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               row(0) = line.Replace("#EXTINF:-1,", "").Trim
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               Dim a As ListViewItem
                a = ListView1.Items.Add(row(0))
               a.SubItems.Add(row(1))
           End If
       Next
   End Sub

كود الزر الخاص بـ button
كود :
Read_m3u()

تذكر عند انشاء Listview
قم بانشاء عدد 2 Columns
وليكن اسم الاول [اسم القناه] واسم الاخر [رابط القناه]

بخصوص EXTINF 
هذا الشكل عند تطبيق الكود

وقم بالتجربة وسيعمل معك
تمنياتى لك التوفيق

شكرا لك اخي العزيز الله ينورك
كل شيء تمام
(13-05-18, 03:14 AM)trakktour كتب : [ -> ]شكرا لك اخي العزيز الله ينورك
كل شيء تمام

الشكر لله وبالتوفيق لك