مرحباً اخى ابو روضة
هذا من اصلك الطيب اخى الحبيب
فالحمد لله دائماً وابداً فما نفعاً فى كاتم العلم
وما تعلمته الا من فضل الله فهو اعلم العالمين
فاحمد الله على حب الجميع لى حمداً كثيراً
فيارب دائماً الحب والمحبة دائماً بين الجميع
تحياتى لك
وتمنياتى لك التوفيق الدائم
احببت اقوم بعد اللمسات على السورس المرفق بالموضوع
لاقوم بوضع بعض اللمسات التى من المؤكد ستفيد الجميع بامر الله
وهو وضع خاصة التشغيل التلقائي وظهور البرنامج بجوار الساعة
مع ظهور شاشة اعلى الساعة تفيد بحالة المشغل للايقاف والتشغيل وما شبه
صورة الاضافات التى تمت فى السورس المرفق بهذا الرد
بعد اضافة التشغيل التلقائي وبعض اللمسات التى ستعم الفائدة ليكون مشروع يستفاد منه كا كود
وكذلك كا برنامج يمكن استخدامه بكل جهاز لتشغيل القران الكريم بشكل يومي فلا مكان يخلو من القران الكريم
اليكم صور البرنامج بعد التعديل
ما تم اضافته فى هذا التحديث
1- عدد 1 من اداء CheckBox
2- عدد 1 من اداء NotifyIcon
3- عدد 1 من اداء ContextMenuStrip
4- عدد 1 من شاشة Form
تم استخدام الادوات التى فى 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اتمنى ان ينال الجميع هذا الموضوع
تحياتى لكم جميعاً
وتمنياتى لكم التوفيق الدائم
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمةفى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية

