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

نسخة كاملة : سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ]
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

بناءاً لسؤال احد الاخوى عن كيفية عمل
برنامج يقوم بتشغيل القران الكريم عبر الانترنت

فقمت بانشاء هذا السورس بامر الله يكون متكامل لدا اى شخص يريد الاستفادة منه
البرنامج خالص بنسبة كبيرة ما يتبقي فقط هو بعض اللمسات الخفيفة فى تغيير المسميات لعض القراء
وكذلك تعريب المسميات للقراء من الكتابة الانجليزية للكتابة العربية والامر سيكون بسيطاً جداً
حيث ستجد كل ما ستحتاج اليه من اكواد فى السورس من تغيير واستبدال وتشغير وما غيرها فالسورس كامل وما الكمال الا لله

السورس تم اضافة له كلاً من
1- مكتبة HtmlAgilityPack وستجد المكتبة مرفقة بالسورس
2- مكتبة WMPLib وهى التابعة لمشغل Windows Media Player

السورس المرفق 2015

صورة للبرنامج


الادوات المستخدمة فى السورس المرفق

1- عدد 1 من اداء PictureBox
2- عدد 5 من اداء Button
3- عدد 1 من اداء TrackBar
4- عدد 1 من اداء ProgressBar
5- عدد 2 من اداء ListBox
6- عدد 1 من اداء Timer

كود السورس كاملاً
كود :
Imports HtmlAgilityPack
Imports WMPLib

Public Class Form1

   Private WSite, Page, FPlay As String
   Private Player As New WindowsMediaPlayer

   Private Function GetName_(ByVal txt As String) As String
       Dim text_ As String = Nothing
       Dim Quran() As String = New String() {"الفَاتِحَة", "البَقَرَة", "آل عِمرَان", "النِّسَاء", "المَائدة", "الأنعَام", "الأعرَاف", "الأنفَال", "التوبَة", "يُونس", "هُود", "يُوسُف", "الرَّعْد", "إبراهِيم", "الحِجْر", "النَّحْل", "الإسْرَاء", "الكهْف", "مَريَم", "طه", "الأنبيَاء", "الحَج", "المُؤمنون", "النُّور", "الفُرْقان", "الشُّعَرَاء", "النَّمْل", "القَصَص", "العَنكبوت", "الرُّوم", "لقمَان", "السَّجدَة", "الأحزَاب", "سَبَأ", "فَاطِر", "يس", "الصَّافات", "ص", "الزُّمَر", "غَافِر", "فُصِّلَتْ", "الشُّورَى", "الزُّخْرُف", "الدخَان", "الجَاثيَة", "الأحْقاف", "محَمَّد", "الفَتْح", "الحُجرَات", "ق", "الذَّاريَات", "الطُّور", "النَّجْم", "القَمَر", "الرَّحمن", "الوَاقِعَة", "الحَديد", "المجَادلة", "الحَشر", "المُمتَحنَة", "الصَّف", "الجُمُعَة", "المنَافِقون", "التغَابُن", "الطلَاق", "التحْريم", "المُلْك", "القَلَم", "الحَاقَّة", "المعَارج", "نُوح", "الجِن", "المُزَّمِّل", "المُدَّثِّر", "القِيَامَة", "الإنسَان", "المُرسَلات", "النَّبَأ", "النّازعَات", "عَبَس", "التَّكوير", "الانفِطار", "المطفِّفِين", "الانْشِقَاق", "البرُوج", "الطَّارِق", "الأَعْلى", "الغَاشِية", "الفَجْر", "البَلَد", "الشَّمْس", "الليْل", "الضُّحَى", "الشَّرْح", "التِّين", "العَلَق", "القَدْر", "البَينَة", "الزلزَلة", "العَادِيات", "القَارِعة", "التَّكَاثر", "العَصْر", "الهُمَزَة", "الفِيل", "قُرَيْش", "المَاعُون", "الكَوْثَر", "الكَافِرُون", "النَّصر", "المَسَد", "الإخْلَاص", "الفَلَق", "النَّاس"
       }
       Dim Number() As String = New String() {"001", "002", "003", "004", "005", "006", "007", "008", "009", "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", "030", "031", "032", "033", "034", "035", "036", "037", "038", "039", "040", "041", "042", "043", "044", "045", "046", "047", "048", "049", "050", "051", "052", "053", "054", "055", "056", "057", "058", "059", "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", "070", "071", "072", "073", "074", "075", "076", "077", "078", "079", "080", "081", "082", "083", "084", "085", "086", "087", "088", "089", "090", "091", "092", "093", "094", "095", "096", "097", "098", "099", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"
       }
       For i = 0 To Quran.Count - 1
           If txt = Number(i) Then
               text_ = Quran(i)
               Exit For
           Else
               text_ = txt + ".mp3"
           End If
       Next i
       Return text_
   End Function

   Private Function GetNumber_(ByVal txt As String) As String
       Dim text_ As String = Nothing
       Dim Quran() As String = New String() {"الفَاتِحَة", "البَقَرَة", "آل عِمرَان", "النِّسَاء", "المَائدة", "الأنعَام", "الأعرَاف", "الأنفَال", "التوبَة", "يُونس", "هُود", "يُوسُف", "الرَّعْد", "إبراهِيم", "الحِجْر", "النَّحْل", "الإسْرَاء", "الكهْف", "مَريَم", "طه", "الأنبيَاء", "الحَج", "المُؤمنون", "النُّور", "الفُرْقان", "الشُّعَرَاء", "النَّمْل", "القَصَص", "العَنكبوت", "الرُّوم", "لقمَان", "السَّجدَة", "الأحزَاب", "سَبَأ", "فَاطِر", "يس", "الصَّافات", "ص", "الزُّمَر", "غَافِر", "فُصِّلَتْ", "الشُّورَى", "الزُّخْرُف", "الدخَان", "الجَاثيَة", "الأحْقاف", "محَمَّد", "الفَتْح", "الحُجرَات", "ق", "الذَّاريَات", "الطُّور", "النَّجْم", "القَمَر", "الرَّحمن", "الوَاقِعَة", "الحَديد", "المجَادلة", "الحَشر", "المُمتَحنَة", "الصَّف", "الجُمُعَة", "المنَافِقون", "التغَابُن", "الطلَاق", "التحْريم", "المُلْك", "القَلَم", "الحَاقَّة", "المعَارج", "نُوح", "الجِن", "المُزَّمِّل", "المُدَّثِّر", "القِيَامَة", "الإنسَان", "المُرسَلات", "النَّبَأ", "النّازعَات", "عَبَس", "التَّكوير", "الانفِطار", "المطفِّفِين", "الانْشِقَاق", "البرُوج", "الطَّارِق", "الأَعْلى", "الغَاشِية", "الفَجْر", "البَلَد", "الشَّمْس", "الليْل", "الضُّحَى", "الشَّرْح", "التِّين", "العَلَق", "القَدْر", "البَينَة", "الزلزَلة", "العَادِيات", "القَارِعة", "التَّكَاثر", "العَصْر", "الهُمَزَة", "الفِيل", "قُرَيْش", "المَاعُون", "الكَوْثَر", "الكَافِرُون", "النَّصر", "المَسَد", "الإخْلَاص", "الفَلَق", "النَّاس"
       }
       Dim Number() As String = New String() {"001", "002", "003", "004", "005", "006", "007", "008", "009", "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", "030", "031", "032", "033", "034", "035", "036", "037", "038", "039", "040", "041", "042", "043", "044", "045", "046", "047", "048", "049", "050", "051", "052", "053", "054", "055", "056", "057", "058", "059", "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", "070", "071", "072", "073", "074", "075", "076", "077", "078", "079", "080", "081", "082", "083", "084", "085", "086", "087", "088", "089", "090", "091", "092", "093", "094", "095", "096", "097", "098", "099", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"
       }
       For i = 0 To Quran.Count - 1
           If txt = Quran(i) Then
               text_ = Number(i) + ".mp3"
               Exit For
           Else
               text_ = txt
           End If
       Next i
       Return text_
   End Function

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       ListBox1.Items.Clear()
       WSite = "https://download.quranicaudio.com/quran/"
       Dim hWeb As HtmlWeb = New HtmlWeb
       Dim doc As HtmlDocument = hWeb.Load(WSite, "GET")
       For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//a")
           If Not node.InnerText = "../" Then
               If Not node.InnerText = "iza3a.zip" Then
                   ListBox1.Items.Add(node.InnerText.Replace("/", Nothing).Replace("_", Space(1)).ToUpper())
               End If
           End If
       Next
       Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
       ListBox2.Items.Clear()
       Page = WSite + ListBox1.SelectedItem.ToString().Replace(Space(1), "_").ToLower() + "/"
       Dim hWeb As HtmlWeb = New HtmlWeb
       Dim doc As HtmlDocument = hWeb.Load(Page, "GET")
       For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//a")
           If Not node.InnerText = "../" Then
               If node.InnerText.Contains(".mp3") Then
                   ListBox2.Items.Add(GetName_(node.InnerText.Split(".")(0)))
               End If
           End If
       Next
   End Sub

   Private Sub ListBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedIndexChanged
       FPlay = Page + GetNumber_(ListBox2.SelectedItem)
       Player.URL = FPlay
       Player.controls.stop()
       Timer1.Stop()
       ProgressBar1.Value = 0
       Button1.Enabled = True
       Button2.Enabled = False
       Button3.Enabled = False
       Button4.Enabled = IIf(ListBox2.Items.Item(0) = ListBox2.SelectedItem, False, True)
       Button5.Enabled = IIf(ListBox2.Items.Item(ListBox2.Items.Count - 1) = ListBox2.SelectedItem, False, True)
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Label1.Text = ListBox2.SelectedItem
       Player.controls.play()
       Timer1.Start()
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Timer1.Stop()
       Player.controls.pause()
       Button1.Enabled = True
       Button2.Enabled = True
       Button3.Enabled = False
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Player.controls.stop()
       Timer1.Stop()
       ProgressBar1.Value = 0
       Player.URL.Clone()
       Button1.Enabled = True
       Button2.Enabled = False
       Button3.Enabled = False
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       ListBox2.SelectedIndex -= 1
   End Sub

   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
       ListBox2.SelectedIndex += 1
   End Sub

   Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
       Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       ProgressBar1.Maximum = Player.currentMedia.duration
       ProgressBar1.Value = Player.controls.currentPosition
       If Player.controls.currentPosition > 0 Then
           Button1.Enabled = False
           Button2.Enabled = True
           Button3.Enabled = True
       Else
           Button1.Enabled = True
           Button2.Enabled = False
           Button3.Enabled = False
       End If
   End Sub
End Class

وبالنهاية اتمنى ان ينال السورس للجميع
وان يكون مفيداً كاستخداماً شخصياً وغير ذلك


تم تحديث المشروع يمكنك الاطلاع عليه من فى هذا الرد
http://vb4arb.com/vb/showthread.php?tid=...#pid150427


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

فالحمد لله دائماً وابداً فما نفعاً فى كاتم العلم
وما تعلمته الا من فضل الله فهو اعلم العالمين

فاحمد الله على حب الجميع لى حمداً كثيراً
فيارب دائماً الحب والمحبة دائماً بين الجميع

تحياتى لك
وتمنياتى لك التوفيق الدائم




احببت اقوم بعد اللمسات على السورس المرفق بالموضوع 
لاقوم بوضع بعض اللمسات التى من المؤكد ستفيد الجميع بامر الله

وهو وضع خاصة التشغيل التلقائي وظهور البرنامج بجوار الساعة
مع ظهور شاشة اعلى الساعة تفيد بحالة المشغل للايقاف والتشغيل وما شبه

صورة الاضافات التى تمت فى السورس المرفق بهذا الرد
بعد اضافة التشغيل التلقائي وبعض اللمسات التى ستعم الفائدة ليكون مشروع يستفاد منه كا كود
وكذلك كا برنامج يمكن استخدامه بكل جهاز لتشغيل القران الكريم بشكل يومي فلا مكان يخلو من القران الكريم

اليكم صور البرنامج بعد التعديل




ما تم اضافته فى هذا التحديث

1- عدد 1 من اداء CheckBox                [صورة مرفقة: DenseGaseousBobwhite-small.gif]
2- عدد 1 من اداء NotifyIcon               [صورة مرفقة: DenseGaseousBobwhite-small.gif]
3- عدد 1 من اداء ContextMenuStrip    [صورة مرفقة: DenseGaseousBobwhite-small.gif]
4- عدد 1 من شاشة Form                 [صورة مرفقة: DenseGaseousBobwhite-small.gif]

تم استخدام الادوات التى فى Form1 من حيث المشغل الى Form2

الاكواد المستخدمة فى الـ Form1
كود :
Imports HtmlAgilityPack
Imports WMPLib

Public Class Form1

   Public Player As New WindowsMediaPlayer
   Public WSite, Page, FPlay As String
   Public SPlay, PExit As Integer
   Friend Quran() As String = New String() {"الفَاتِحَة", "البَقَرَة", "آل عِمرَان", "النِّسَاء", "المَائدة", "الأنعَام", "الأعرَاف", "الأنفَال", "التوبَة", "يُونس", "هُود", "يُوسُف", "الرَّعْد", "إبراهِيم", "الحِجْر", "النَّحْل", "الإسْرَاء", "الكهْف", "مَريَم", "طه", "الأنبيَاء", "الحَج", "المُؤمنون", "النُّور", "الفُرْقان", "الشُّعَرَاء", "النَّمْل", "القَصَص", "العَنكبوت", "الرُّوم", "لقمَان", "السَّجدَة", "الأحزَاب", "سَبَأ", "فَاطِر", "يس", "الصَّافات", "ص", "الزُّمَر", "غَافِر", "فُصِّلَتْ", "الشُّورَى", "الزُّخْرُف", "الدخَان", "الجَاثيَة", "الأحْقاف", "محَمَّد", "الفَتْح", "الحُجرَات", "ق", "الذَّاريَات", "الطُّور", "النَّجْم", "القَمَر", "الرَّحمن", "الوَاقِعَة", "الحَديد", "المجَادلة", "الحَشر", "المُمتَحنَة", "الصَّف", "الجُمُعَة", "المنَافِقون", "التغَابُن", "الطلَاق", "التحْريم", "المُلْك", "القَلَم", "الحَاقَّة", "المعَارج", "نُوح", "الجِن", "المُزَّمِّل", "المُدَّثِّر", "القِيَامَة", "الإنسَان", "المُرسَلات", "النَّبَأ", "النّازعَات", "عَبَس", "التَّكوير", "الانفِطار", "المطفِّفِين", "الانْشِقَاق", "البرُوج", "الطَّارِق", "الأَعْلى", "الغَاشِية", "الفَجْر", "البَلَد", "الشَّمْس", "الليْل", "الضُّحَى", "الشَّرْح", "التِّين", "العَلَق", "القَدْر", "البَينَة", "الزلزَلة", "العَادِيات", "القَارِعة", "التَّكَاثر", "العَصْر", "الهُمَزَة", "الفِيل", "قُرَيْش", "المَاعُون", "الكَوْثَر", "الكَافِرُون", "النَّصر", "المَسَد", "الإخْلَاص", "الفَلَق", "النَّاس"}
   Friend Number() As String = New String() {"001", "002", "003", "004", "005", "006", "007", "008", "009", "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", "030", "031", "032", "033", "034", "035", "036", "037", "038", "039", "040", "041", "042", "043", "044", "045", "046", "047", "048", "049", "050", "051", "052", "053", "054", "055", "056", "057", "058", "059", "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", "070", "071", "072", "073", "074", "075", "076", "077", "078", "079", "080", "081", "082", "083", "084", "085", "086", "087", "088", "089", "090", "091", "092", "093", "094", "095", "096", "097", "098", "099", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"}

   Private Function GetName_(ByVal txt As String) As String
       Dim text_ As String = Nothing
       For i = 0 To Quran.Count - 1
           If txt = Number(i) Then
               text_ = Quran(i)
               Exit For
           Else
               text_ = txt + ".mp3"
           End If
       Next i
       Return text_
   End Function

   Private Function GetNumber_(ByVal txt As String) As String
       Dim text_ As String = Nothing
       For i = 0 To Quran.Count - 1
           If txt = Quran(i) Then
               text_ = Number(i) + ".mp3"
               Exit For
           Else
               text_ = txt
           End If
       Next i
       Return text_
   End Function

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       ListBox1.Items.Clear()
       WSite = "https://download.quranicaudio.com/quran/"
       Dim hWeb As HtmlWeb = New HtmlWeb
       Dim doc As HtmlDocument = hWeb.Load(WSite, "GET")
       For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//a")
           If Not node.InnerText = "../" Then
               If Not node.InnerText = "iza3a.zip" Then
                   ListBox1.Items.Add(node.InnerText.Replace("/", Nothing).Replace("_", Space(1)).ToUpper())
               End If
           End If
       Next
       Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
       ListBox2.Items.Clear()
       Page = WSite + ListBox1.SelectedItem.ToString().Replace(Space(1), "_").ToLower() + "/"
       Dim hWeb As HtmlWeb = New HtmlWeb
       Dim doc As HtmlDocument = hWeb.Load(Page, "GET")
       For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//a")
           If Not node.InnerText = "../" Then
               If node.InnerText.Contains(".mp3") Then
                   ListBox2.Items.Add(GetName_(node.InnerText.Split(".")(0)))
               End If
           End If
       Next
   End Sub

   Private Sub ListBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedIndexChanged
       FPlay = Page + GetNumber_(ListBox2.SelectedItem)
       Player.URL = FPlay
       Label1.Text = ListBox2.SelectedItem
       If Not CheckBox1.Checked Then
           SPlay = 0
           Player.controls.stop()
           Timer1.Stop()
           Button1.Enabled = True
           Button2.Enabled = False
           Button3.Enabled = False
       Else
           SPlay = 1
           Player.controls.play()
           Timer1.Start()
           Button1.Enabled = False
           Button2.Enabled = True
           Button3.Enabled = True
       End If
       ProgressBar1.Value = 0
       Button4.Enabled = IIf(ListBox2.Items.Item(0) = ListBox2.SelectedItem, False, True)
       Button5.Enabled = IIf(ListBox2.Items.Item(ListBox2.Items.Count - 1) = ListBox2.SelectedItem, False, True)
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Label1.Text = ListBox2.SelectedItem
       SPlay = 1
       Player.controls.play()
       Timer1.Start()
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Timer1.Stop()
       Player.controls.pause()
       Button1.Enabled = True
       Button2.Enabled = True
       Button3.Enabled = False
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       SPlay = 0
       Player.controls.stop()
       Timer1.Stop()
       ProgressBar1.Value = 0
       Player.URL.Clone()
       Button1.Enabled = True
       Button2.Enabled = False
       Button3.Enabled = False
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       ListBox2.SelectedIndex -= 1
   End Sub

   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
       ListBox2.SelectedIndex += 1
   End Sub

   Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
       Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       If Not Player.playState = WMPLib.WMPPlayState.wmppsPlaying AndAlso SPlay = 1 Then Exit Sub
       SPlay = 0
       ProgressBar1.Maximum = Player.currentMedia.duration
       ProgressBar1.Value = Player.controls.currentPosition
       If Player.controls.currentPosition >= 0.1 Then
           Button1.Enabled = False
           Button2.Enabled = True
           Button3.Enabled = True
       Else
           ListBox2.SelectedIndex += IIf(ListBox2.SelectedIndex < ListBox2.Items.Count - 1, 1, 0)
           Button1.Enabled = True
           Button2.Enabled = False
           Button3.Enabled = False
       End If
   End Sub

   Private Sub NotifyIcon1_MouseMove(sender As Object, e As MouseEventArgs) Handles NotifyIcon1.MouseMove
       If Player.playState = WMPLib.WMPPlayState.wmppsPlaying Then
           If Me.Visible = False Then Form2.Show()
       End If
       If ListBox2.SelectedIndex > 0 Then
           If Me.Visible = False Then Form2.Show()
       End If
   End Sub

   Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
       e.Cancel = IIf(PExit = 1, False, True)
       NotifyIcon1.Visible = True
       Me.Hide()
       If PExit = 0 AndAlso Player.playState = WMPLib.WMPPlayState.wmppsPlaying Then Form2.Show()
   End Sub

   Private Sub NotifyIcon1_DoubleClick(sender As Object, e As EventArgs) Handles NotifyIcon1.DoubleClick, ShowToolStripMenuItem.Click
       Form2.Hide()
       Me.Show()
       Me.TopMost = True
   End Sub

   Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click
       MsgBox("يمكنك تحميل السورس كود من خلال موقع http://vb4arb.com.")
       Process.Start("http://vb4arb.com/vb/showthread.php?tid=31756")
   End Sub

   Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
       Form2.Close()
       PExit = 1
       Application.Exit()
   End Sub
End Class

الاكواد المستخدمة فى الـ Form2
كود :
Public Class Form2

   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim x, y As Integer
       x = Screen.PrimaryScreen.WorkingArea.Width - Me.Width
       y = Screen.PrimaryScreen.WorkingArea.Height - Me.Height
       Me.Location = New Point(x, y)
       Me.TopMost = True
       Form1.Player.settings.volume = TrackBar1.Value * 10
       CheckBox1.Checked = Form1.CheckBox1.Checked
   End Sub

   Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
       Hide()
   End Sub

   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       ProgressBar1.Maximum = Form1.ProgressBar1.Maximum
       Label2.Text = Form1.Label1.Text
       Button1.Enabled = Form1.Button1.Enabled
       Button2.Enabled = Form1.Button2.Enabled
       Button3.Enabled = Form1.Button3.Enabled
       Button4.Enabled = Form1.Button4.Enabled
       Button5.Enabled = Form1.Button5.Enabled
       TrackBar1.Value = Form1.TrackBar1.Value
       ProgressBar1.Value = Form1.ProgressBar1.Value
   End Sub

   Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
       Form1.TrackBar1.Value = TrackBar1.Value
       Form1.Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Form1.Label1.Text = Form1.ListBox2.SelectedItem
       Form1.Player.controls.play()
       Form1.Timer1.Start()
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Form1.Player.controls.stop()
       Form1.Timer1.Stop()
       Form1.ProgressBar1.Value = 0
       Form1.Player.URL.Clone()
       Form1.Button1.Enabled = True
       Form1.Button2.Enabled = False
       Form1.Button3.Enabled = False
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Form1.Timer1.Stop()
       Form1.Player.controls.pause()
       Form1.Button1.Enabled = True
       Form1.Button2.Enabled = True
       Form1.Button3.Enabled = False
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       Form1.ListBox2.SelectedIndex -= 1
       Form1.STimer = 0
   End Sub

   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
       Form1.ListBox2.SelectedIndex += 1
       Form1.STimer = 0
   End Sub

   Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
       Form1.CheckBox1.Checked = CheckBox1.Checked
   End Sub
End Class

اتمنى ان ينال الجميع هذا الموضوع

تحياتى لكم جميعاً
وتمنياتى لكم التوفيق الدائم
إقتباس :اتمنى ان ينال الجميع هذا الموضوع
طبعا سينال إعجاب الجميع أخى الغالى...
أتعجب ممن يمرون على الموضوع ويضعون إعجاب دون وضع ولو كلمة شكر بسيطة.
والله بالفعل أتعجب فالكلمة التى تدخل بها السرور على قلب أخوك المسلم ستكون لك صدقة.
وبرغم أن أكثر جهازى مليئ ببرامج قراءن كريم من برمجتى الخاصة بمساعدة أصدقائى هنا وهناك
يعنى لست بحاجة لهذا البرنامج إلا أنى أخجل أن أمّر على موضوع مثل هذا أو غيره ولا أقول ولو كلمة شكر بسيطة تشعر صاحب الموضوع بأهميتة وما قام به له شأن فمن لا يشكر الناس لا يشكر الله..
فالكلمة لن تأخذ منكم وقت ولن تتعب أصابعكم والله لن تتعبها...
تسلم اخى الحبيب ابو روضة
لفلكل واحد عظراً اخى الحبيب فلا داعي للوم على احد

الاهم الافادة من الامر فستجد من يقف معه شئ
يطرح ويسال ليستفسر عن شئ لم يفهمه فهذا هو الاهم
فجميعنا نتعلم من بعض فلا يوجد احداً بحر من المعلومات

فما تعلمنا من تجاربنا وممارستنا للشئ فقط

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

بارك الله فيك أخي و أستاذي العزيز ELGOKR على المشروع المميّز و الممتاز
فعلاً قمّة الأناقة في الإنجاز و الإتقان
أدعو الله العظيم ربّ العرش العظيم بهذا اليوم المبارك الكريم أن يحسن إليك بالدنيا قبل الآخرة و يوفّقك لما يحبّه و يرضاه
جزاك الله خيرًا و زادك من علمه و فضله و نفع بك الاسلام و المسلمين
إحتراماتي و تقييماتي

وعليكم السلام ورحمة الله وبركاته
مرحباً اخى عبد العزيز البسكري

تقبل الله منك الدعاء لى ولك وللجميع يارب
فالحمد لله والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
أخي معي برنامج زي حقك الفارق أن القرآن من جهازك
إن شاء الله بعمله موضوع بكرة
حقي لا يوازي برنامجك برنامج معمول بإتقان حقي حق واحد مبتدئ
ويقول المثل منكم نستفيد
(15-10-19, 04:36 AM)elgokr كتب : [ -> ]
السلام عليكم ورحمة الله وبركاته

بناءاً لسؤال احد الاخوى عن كيفية عمل
برنامج يقوم بتشغيل القران الكريم عبر الانترنت

فقمت بانشاء هذا السورس بامر الله يكون متكامل لدا اى شخص يريد الاستفادة منه
البرنامج خالص بنسبة كبيرة ما يتبقي فقط هو بعض اللمسات الخفيفة فى تغيير المسميات لعض القراء
وكذلك تعريب المسميات للقراء من الكتابة الانجليزية للكتابة العربية والامر سيكون بسيطاً جداً
حيث ستجد كل ما ستحتاج اليه من اكواد فى السورس من تغيير واستبدال وتشغير وما غيرها فالسورس كامل وما الكمال الا لله

السورس تم اضافة له كلاً من
1- مكتبة HtmlAgilityPack وستجد المكتبة مرفقة بالسورس
2- مكتبة WMPLib وهى التابعة لمشغل Windows Media Player

السورس المرفق 2015

صورة للبرنامج


الادوات المستخدمة فى السورس المرفق

1- عدد 1 من اداء PictureBox
2- عدد 5 من اداء Button
3- عدد 1 من اداء TrackBar
4- عدد 1 من اداء ProgressBar
5- عدد 2 من اداء ListBox
6- عدد 1 من اداء Timer

كود السورس كاملاً
كود :
Imports HtmlAgilityPack
Imports WMPLib

Public Class Form1

   Private WSite, Page, FPlay As String
   Private Player As New WindowsMediaPlayer

   Private Function GetName_(ByVal txt As String) As String
       Dim text_ As String = Nothing
       Dim Quran() As String = New String() {"الفَاتِحَة", "البَقَرَة", "آل عِمرَان", "النِّسَاء", "المَائدة", "الأنعَام", "الأعرَاف", "الأنفَال", "التوبَة", "يُونس", "هُود", "يُوسُف", "الرَّعْد", "إبراهِيم", "الحِجْر", "النَّحْل", "الإسْرَاء", "الكهْف", "مَريَم", "طه", "الأنبيَاء", "الحَج", "المُؤمنون", "النُّور", "الفُرْقان", "الشُّعَرَاء", "النَّمْل", "القَصَص", "العَنكبوت", "الرُّوم", "لقمَان", "السَّجدَة", "الأحزَاب", "سَبَأ", "فَاطِر", "يس", "الصَّافات", "ص", "الزُّمَر", "غَافِر", "فُصِّلَتْ", "الشُّورَى", "الزُّخْرُف", "الدخَان", "الجَاثيَة", "الأحْقاف", "محَمَّد", "الفَتْح", "الحُجرَات", "ق", "الذَّاريَات", "الطُّور", "النَّجْم", "القَمَر", "الرَّحمن", "الوَاقِعَة", "الحَديد", "المجَادلة", "الحَشر", "المُمتَحنَة", "الصَّف", "الجُمُعَة", "المنَافِقون", "التغَابُن", "الطلَاق", "التحْريم", "المُلْك", "القَلَم", "الحَاقَّة", "المعَارج", "نُوح", "الجِن", "المُزَّمِّل", "المُدَّثِّر", "القِيَامَة", "الإنسَان", "المُرسَلات", "النَّبَأ", "النّازعَات", "عَبَس", "التَّكوير", "الانفِطار", "المطفِّفِين", "الانْشِقَاق", "البرُوج", "الطَّارِق", "الأَعْلى", "الغَاشِية", "الفَجْر", "البَلَد", "الشَّمْس", "الليْل", "الضُّحَى", "الشَّرْح", "التِّين", "العَلَق", "القَدْر", "البَينَة", "الزلزَلة", "العَادِيات", "القَارِعة", "التَّكَاثر", "العَصْر", "الهُمَزَة", "الفِيل", "قُرَيْش", "المَاعُون", "الكَوْثَر", "الكَافِرُون", "النَّصر", "المَسَد", "الإخْلَاص", "الفَلَق", "النَّاس"
       }
       Dim Number() As String = New String() {"001", "002", "003", "004", "005", "006", "007", "008", "009", "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", "030", "031", "032", "033", "034", "035", "036", "037", "038", "039", "040", "041", "042", "043", "044", "045", "046", "047", "048", "049", "050", "051", "052", "053", "054", "055", "056", "057", "058", "059", "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", "070", "071", "072", "073", "074", "075", "076", "077", "078", "079", "080", "081", "082", "083", "084", "085", "086", "087", "088", "089", "090", "091", "092", "093", "094", "095", "096", "097", "098", "099", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"
       }
       For i = 0 To Quran.Count - 1
           If txt = Number(i) Then
               text_ = Quran(i)
               Exit For
           Else
               text_ = txt + ".mp3"
           End If
       Next i
       Return text_
   End Function

   Private Function GetNumber_(ByVal txt As String) As String
       Dim text_ As String = Nothing
       Dim Quran() As String = New String() {"الفَاتِحَة", "البَقَرَة", "آل عِمرَان", "النِّسَاء", "المَائدة", "الأنعَام", "الأعرَاف", "الأنفَال", "التوبَة", "يُونس", "هُود", "يُوسُف", "الرَّعْد", "إبراهِيم", "الحِجْر", "النَّحْل", "الإسْرَاء", "الكهْف", "مَريَم", "طه", "الأنبيَاء", "الحَج", "المُؤمنون", "النُّور", "الفُرْقان", "الشُّعَرَاء", "النَّمْل", "القَصَص", "العَنكبوت", "الرُّوم", "لقمَان", "السَّجدَة", "الأحزَاب", "سَبَأ", "فَاطِر", "يس", "الصَّافات", "ص", "الزُّمَر", "غَافِر", "فُصِّلَتْ", "الشُّورَى", "الزُّخْرُف", "الدخَان", "الجَاثيَة", "الأحْقاف", "محَمَّد", "الفَتْح", "الحُجرَات", "ق", "الذَّاريَات", "الطُّور", "النَّجْم", "القَمَر", "الرَّحمن", "الوَاقِعَة", "الحَديد", "المجَادلة", "الحَشر", "المُمتَحنَة", "الصَّف", "الجُمُعَة", "المنَافِقون", "التغَابُن", "الطلَاق", "التحْريم", "المُلْك", "القَلَم", "الحَاقَّة", "المعَارج", "نُوح", "الجِن", "المُزَّمِّل", "المُدَّثِّر", "القِيَامَة", "الإنسَان", "المُرسَلات", "النَّبَأ", "النّازعَات", "عَبَس", "التَّكوير", "الانفِطار", "المطفِّفِين", "الانْشِقَاق", "البرُوج", "الطَّارِق", "الأَعْلى", "الغَاشِية", "الفَجْر", "البَلَد", "الشَّمْس", "الليْل", "الضُّحَى", "الشَّرْح", "التِّين", "العَلَق", "القَدْر", "البَينَة", "الزلزَلة", "العَادِيات", "القَارِعة", "التَّكَاثر", "العَصْر", "الهُمَزَة", "الفِيل", "قُرَيْش", "المَاعُون", "الكَوْثَر", "الكَافِرُون", "النَّصر", "المَسَد", "الإخْلَاص", "الفَلَق", "النَّاس"
       }
       Dim Number() As String = New String() {"001", "002", "003", "004", "005", "006", "007", "008", "009", "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", "030", "031", "032", "033", "034", "035", "036", "037", "038", "039", "040", "041", "042", "043", "044", "045", "046", "047", "048", "049", "050", "051", "052", "053", "054", "055", "056", "057", "058", "059", "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", "070", "071", "072", "073", "074", "075", "076", "077", "078", "079", "080", "081", "082", "083", "084", "085", "086", "087", "088", "089", "090", "091", "092", "093", "094", "095", "096", "097", "098", "099", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"
       }
       For i = 0 To Quran.Count - 1
           If txt = Quran(i) Then
               text_ = Number(i) + ".mp3"
               Exit For
           Else
               text_ = txt
           End If
       Next i
       Return text_
   End Function

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       ListBox1.Items.Clear()
       WSite = "https://download.quranicaudio.com/quran/"
       Dim hWeb As HtmlWeb = New HtmlWeb
       Dim doc As HtmlDocument = hWeb.Load(WSite, "GET")
       For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//a")
           If Not node.InnerText = "../" Then
               If Not node.InnerText = "iza3a.zip" Then
                   ListBox1.Items.Add(node.InnerText.Replace("/", Nothing).Replace("_", Space(1)).ToUpper())
               End If
           End If
       Next
       Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
       ListBox2.Items.Clear()
       Page = WSite + ListBox1.SelectedItem.ToString().Replace(Space(1), "_").ToLower() + "/"
       Dim hWeb As HtmlWeb = New HtmlWeb
       Dim doc As HtmlDocument = hWeb.Load(Page, "GET")
       For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//a")
           If Not node.InnerText = "../" Then
               If node.InnerText.Contains(".mp3") Then
                   ListBox2.Items.Add(GetName_(node.InnerText.Split(".")(0)))
               End If
           End If
       Next
   End Sub

   Private Sub ListBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedIndexChanged
       FPlay = Page + GetNumber_(ListBox2.SelectedItem)
       Player.URL = FPlay
       Player.controls.stop()
       Timer1.Stop()
       ProgressBar1.Value = 0
       Button1.Enabled = True
       Button2.Enabled = False
       Button3.Enabled = False
       Button4.Enabled = IIf(ListBox2.Items.Item(0) = ListBox2.SelectedItem, False, True)
       Button5.Enabled = IIf(ListBox2.Items.Item(ListBox2.Items.Count - 1) = ListBox2.SelectedItem, False, True)
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Label1.Text = ListBox2.SelectedItem
       Player.controls.play()
       Timer1.Start()
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Timer1.Stop()
       Player.controls.pause()
       Button1.Enabled = True
       Button2.Enabled = True
       Button3.Enabled = False
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Player.controls.stop()
       Timer1.Stop()
       ProgressBar1.Value = 0
       Player.URL.Clone()
       Button1.Enabled = True
       Button2.Enabled = False
       Button3.Enabled = False
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       ListBox2.SelectedIndex -= 1
   End Sub

   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
       ListBox2.SelectedIndex += 1
   End Sub

   Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
       Player.settings.volume = TrackBar1.Value * 10
   End Sub

   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       ProgressBar1.Maximum = Player.currentMedia.duration
       ProgressBar1.Value = Player.controls.currentPosition
       If Player.controls.currentPosition > 0 Then
           Button1.Enabled = False
           Button2.Enabled = True
           Button3.Enabled = True
       Else
           Button1.Enabled = True
           Button2.Enabled = False
           Button3.Enabled = False
       End If
   End Sub
End Class

وبالنهاية اتمنى ان ينال السورس للجميع
وان يكون مفيداً كاستخداماً شخصياً وغير ذلك


تم تحديث المشروع يمكنك الاطلاع عليه من فى هذا الرد
تحياتى لكم جميعاً
وتمنياتى لكم التوفيق

شكرا لك أستمر
جزاك الله خيرا وبارك لك وفيك

اخى اشكرك على هذا البرنامج وهذا الكود المحترم الذى ابحث عنه منذ فترة وشكرالك  وجزاك الله خيرا
الصفحات : 1 2