29-08-17, 06:39 PM
(29-08-17, 09:58 AM)سعود كتب :![]()
هذا مثال لقاريء واحدكود :
Imports System.Net
Imports System.Text
Public Class Form1
Dim lst As New List(Of String)
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
AxWindowsMediaPlayer1.URL = lst(sender.selectedindex)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim url As String = "http://www.mp3quran.net/tnjy.html"
Dim wc As New WebClient
wc.Encoding = Encoding.UTF8
Dim html As String = wc.DownloadString(url)
Dim doc As New HtmlAgilityPack.HtmlDocument
html = WebUtility.HtmlDecode(html)
doc.LoadHtml(html)
Dim nod As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//table/tr")
For r As Integer = 1 To nod.Count - 1
For Each n As HtmlAgilityPack.HtmlNode In nod(r).SelectNodes("//td[4]/a")
lst.Add(n.Attributes("href").Value)
Next
For Each n2 As HtmlAgilityPack.HtmlNode In nod(r).SelectNodes("//td[2]")
If n2.InnerText.Contains("السورة") = False Then
ListBox1.Items.Add(n2.InnerText)
End If
Next
Next
End Sub
End Class
(29-08-17, 06:21 PM)السندبااد كتب :السلام عليكم ورحمة الله وبركاتهأفضل طريقة كما تفضل الأخ سعود هي HtmlAgilityPack وللأسباب التي شرحها الأخ الشاكي لله في موضوعه
المثال الذي وضعه الأخ سعود رائع جداً، فألف شكر لك أستاذي العزيز، ولكن حتى لا تظهر السور مكررة فقد أجريت تعديلات بسيطة على كود تحميل الفورم، وهذا الكود بعد التعديل:
كود :
Dim url As String = "http://www.mp3quran.net/tnjy.html"
Dim wc As New WebClient
wc.Encoding = Encoding.UTF8
Dim html As String = wc.DownloadString(url)
Dim doc As New HtmlAgilityPack.HtmlDocument
html = WebUtility.HtmlDecode(html)
doc.LoadHtml(html)
Dim nod As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//table/tr")
Dim nodeTitle As HtmlAgilityPack.HtmlNode = doc.DocumentNode.SelectSingleNode("//html/body/div[3]/div[6]/div[1]/div/div/h3")
Me.Text = nodeTitle.InnerText
For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//td[4]/a")
lst.Add(n.Attributes("href").Value)
Next
For Each n2 As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//td[2]")
If n2.InnerText.Contains("السورة") = False Then
ListBox1.Items.Add(n2.InnerText)
End If
Next
والله يا اخوتى جزاكم الله كل خير...
لكن انا عندى برامج كثيرة وعندى معظم مشاريعك اخى سعود بما فيهم مثال الحفظ الذى يضم
كل القراء لكن انا عاوز افهم مش عاوز حاجة جاهزة يعنى مثلا ليه حطيت هذا الكود فى مثالك ("//td[4]/a وهذا ("//td[2
؟؟ على اساس لما اجى اعمل اى برنامج مثلهم اكون فاهم انا بعمل ايه......
ومع ذلك لا اريد اتعابكم اكثر لانى قولت فى البداية اننا لا اريد شيئ جاهز بل اريد الفهم
لكن يبدو ان الوقت وقف عائقا امامكم لعمل شرح مبسط.

