سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - elgokr - 15-10-19
السلام عليكم ورحمة الله وبركاته
بناءاً لسؤال احد الاخوى عن كيفية عمل
برنامج يقوم بتشغيل القران الكريم عبر الانترنت
فقمت بانشاء هذا السورس بامر الله يكون متكامل لدا اى شخص يريد الاستفادة منه
البرنامج خالص بنسبة كبيرة ما يتبقي فقط هو بعض اللمسات الخفيفة فى تغيير المسميات لعض القراء
وكذلك تعريب المسميات للقراء من الكتابة الانجليزية للكتابة العربية والامر سيكون بسيطاً جداً
حيث ستجد كل ما ستحتاج اليه من اكواد فى السورس من تغيير واستبدال وتشغير وما غيرها فالسورس كامل وما الكمال الا لله
السورس تم اضافة له كلاً من
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
وبالنهاية اتمنى ان ينال السورس للجميع
وان يكون مفيداً كاستخداماً شخصياً وغير ذلك
تم تحديث المشروع يمكنك الاطلاع عليه من فى هذا الرد
تحياتى لكم جميعاً
وتمنياتى لكم التوفيق
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت - ابو روضة - 15-10-19
ماشاء الله ولا قوة إلا بالله...
بمجرد أن سمعت أن شخص يحتاج لبرنامج ما قمت بعمله فى الحال سبحان الله
ألم أقل لك أن الشهامة تجرى فى عروقك ؟
هذا هو سبب حب الجميع لك أنك لا تبخل بأى معلومة تعرفها وما أكثر المعلومات
التى تعرفها ماشاء الله ربنا يزيدك علماً كثيراً.
جزاك الله كل الخيرات أخى العزيز
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت - elgokr - 15-10-19
مرحباً اخى ابو روضة
هذا من اصلك الطيب اخى الحبيب
فالحمد لله دائماً وابداً فما نفعاً فى كاتم العلم
وما تعلمته الا من فضل الله فهو اعلم العالمين
فاحمد الله على حب الجميع لى حمداً كثيراً
فيارب دائماً الحب والمحبة دائماً بين الجميع
تحياتى لك
وتمنياتى لك التوفيق الدائم
احببت اقوم بعد اللمسات على السورس المرفق بالموضوع
لاقوم بوضع بعض اللمسات التى من المؤكد ستفيد الجميع بامر الله
وهو وضع خاصة التشغيل التلقائي وظهور البرنامج بجوار الساعة
مع ظهور شاشة اعلى الساعة تفيد بحالة المشغل للايقاف والتشغيل وما شبه
صورة الاضافات التى تمت فى السورس المرفق بهذا الرد
بعد اضافة التشغيل التلقائي وبعض اللمسات التى ستعم الفائدة ليكون مشروع يستفاد منه كا كود
وكذلك كا برنامج يمكن استخدامه بكل جهاز لتشغيل القران الكريم بشكل يومي فلا مكان يخلو من القران الكريم
اليكم صور البرنامج بعد التعديل
ما تم اضافته فى هذا التحديث
1- عدد 1 من اداء CheckBox ![[صورة مرفقة: DenseGaseousBobwhite-small.gif]](https://thumbs.gfycat.com/DenseGaseousBobwhite-small.gif)
2- عدد 1 من اداء NotifyIcon ![[صورة مرفقة: DenseGaseousBobwhite-small.gif]](https://thumbs.gfycat.com/DenseGaseousBobwhite-small.gif)
3- عدد 1 من اداء ContextMenuStrip ![[صورة مرفقة: DenseGaseousBobwhite-small.gif]](https://thumbs.gfycat.com/DenseGaseousBobwhite-small.gif)
4- عدد 1 من شاشة Form ![[صورة مرفقة: DenseGaseousBobwhite-small.gif]](https://thumbs.gfycat.com/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
اتمنى ان ينال الجميع هذا الموضوع
تحياتى لكم جميعاً
وتمنياتى لكم التوفيق الدائم
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - ابو روضة - 15-10-19
إقتباس :اتمنى ان ينال الجميع هذا الموضوع
طبعا سينال إعجاب الجميع أخى الغالى...
أتعجب ممن يمرون على الموضوع ويضعون إعجاب دون وضع ولو كلمة شكر بسيطة.
والله بالفعل أتعجب فالكلمة التى تدخل بها السرور على قلب أخوك المسلم ستكون لك صدقة.
وبرغم أن أكثر جهازى مليئ ببرامج قراءن كريم من برمجتى الخاصة بمساعدة أصدقائى هنا وهناك
يعنى لست بحاجة لهذا البرنامج إلا أنى أخجل أن أمّر على موضوع مثل هذا أو غيره ولا أقول ولو كلمة شكر بسيطة تشعر صاحب الموضوع بأهميتة وما قام به له شأن فمن لا يشكر الناس لا يشكر الله..
فالكلمة لن تأخذ منكم وقت ولن تتعب أصابعكم والله لن تتعبها...
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - elgokr - 16-10-19
تسلم اخى الحبيب ابو روضة
لفلكل واحد عظراً اخى الحبيب فلا داعي للوم على احد
الاهم الافادة من الامر فستجد من يقف معه شئ
يطرح ويسال ليستفسر عن شئ لم يفهمه فهذا هو الاهم
فجميعنا نتعلم من بعض فلا يوجد احداً بحر من المعلومات
فما تعلمنا من تجاربنا وممارستنا للشئ فقط
تحياتى لك
وتمنياتى لك التوفيق
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - عبد العزيز البسكري - 16-10-19
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك أخي و أستاذي العزيز ELGOKR على المشروع المميّز و الممتاز
فعلاً قمّة الأناقة في الإنجاز و الإتقان
أدعو الله العظيم ربّ العرش العظيم بهذا اليوم المبارك الكريم أن يحسن إليك بالدنيا قبل الآخرة و يوفّقك لما يحبّه و يرضاه
جزاك الله خيرًا و زادك من علمه و فضله و نفع بك الاسلام و المسلمين
إحتراماتي و تقييماتي
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - elgokr - 17-10-19
وعليكم السلام ورحمة الله وبركاته
مرحباً اخى عبد العزيز البسكري
تقبل الله منك الدعاء لى ولك وللجميع يارب
فالحمد لله والحمد لله على كل حال
تحياتى لك
وتمنياتى لك التوفيق
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - أمجد وضاح - 31-12-19
أخي معي برنامج زي حقك الفارق أن القرآن من جهازك
إن شاء الله بعمله موضوع بكرة
حقي لا يوازي برنامجك برنامج معمول بإتقان حقي حق واحد مبتدئ
ويقول المثل منكم نستفيد
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - zayedali - 07-06-21
(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
وبالنهاية اتمنى ان ينال السورس للجميع
وان يكون مفيداً كاستخداماً شخصياً وغير ذلك
تم تحديث المشروع يمكنك الاطلاع عليه من فى هذا الرد
تحياتى لكم جميعاً
وتمنياتى لكم التوفيق
شكرا لك أستمر
RE: سورس كود برنامج تشغل القران الكريم عبر الانترنت [ تم تحديث الموضوع ] - spiky - 18-06-21
جزاك الله خيرا وبارك لك وفيك
اخى اشكرك على هذا البرنامج وهذا الكود المحترم الذى ابحث عنه منذ فترة وشكرالك وجزاك الله خيرا
|