الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

درس طريقة صنع برنامج مثل ال winamp

مغلق
بدأه zain50 في 24 أغسطس 2006 · 36 رد · 12,429 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#26
مدافع الإسلام كتب:
مشكور جدا يا أستاذ على هذا الشرح الوافي .

العفو يا أخى "مدافع الإسلام"

وانا مش أستاذ ولا حاجة

دانا عضو بسيط فى الفجوال بيسك

واللى أعرفه على قدى

#27

السلام عليكم

نبدأ المرحلة الرابعة من الشرح باذن الله

إضافة Label بالخصائص الأتية :

نجعل الـ Caption فارغة

Name : lblplay

الكود : نضعه فى الزر cmdplay" Play" فى الحدث Click

Private Sub cmdplay_Click()
lblplay.Caption = List1.Text
End Sub

وهو يعنى مساواة أسم الملف الصوتى

الذى فى الـListBox بأسم هذه الـ Label

وذلك يحدث عند الضغط على الزر Play

وذلك كما بأول شكل قادم :

إضافة ثلاثة من الـ Command Button بالخصائص الأتية :-

Command1
Name : cmdforward
Caption : >

Command2
Name : cmdback
Caption : < 

Command3
Name : cmdfast
Caption : |>

وذلك كما بالشكل :

9jp9.jpg

كود cmdforward

Private Sub cmdforward_Click()
On Error Resume Next
MediaPlayer1.CurrentPosition = MediaPlayer1.CurrentPosition + 15
End Sub

وهو يقوم بتقديم إتجاه شريطة الميديا بلاير

للأمام

كود cmdback

Private Sub cmdback_Click()
On Error Resume Next
MediaPlayer1.CurrentPosition = MediaPlayer1.CurrentPosition - 15
End Sub

وهو عكس الكود السابق , فهو يقوم بتأخير إتجاه شريطة الميديا بلاير

للخلف

كود cmdfast

Private Sub cmdFast_Click()
On Error Resume Next
If cmdfast.Caption = "|>" Then
MediaPlayer1.Rate = 1.5
cmdfast.Caption = ">>"
Else
MediaPlayer1.Rate = 1
cmdfast.Caption = "|>"
End If
End Sub

يقوم هذا الكود بتسريع الصوت " MediaPlayer1.Rate = 1.5"

والـ Rate هى درجة الصوت ,

والصوت يكون طبيعى إذا كانت الـ Rate = 1

ولقد قمت بإستخدام If,Else لتسهيل التغيير بين الحالتين

وقد سبق لى شرح طريقة If,Else

إضافات للقائمة menu editor :

أولا : طريقة الـ Save و الـ Load :-

نقوم بإضافة الأتى أسفل الإختيار New List

Caption : Save List
Name : mnusave

Caption : Load List
Name : mnuload

وذلك كما بالشكل :

9anl9.jpg

كود : mnusave

Private Sub mnusave_Click()
On Error Resume Next
	Dim i As Long
	Dim save As String
With CommonDialog1
	.CancelError = False
	.Filter = "Sound Filse|*.mpl"
	.ShowSave
	If .FileName = "" Then
	Exit Sub
	End If
End With

	save = CommonDialog1.FileName
	CommonDialog1.FileName = ""
   On Error GoTo error
	Open save For Output As #1
For i = 0 To 100
	List1.ListIndex = i
	Write #1, List1.Text
Next i
error:
Close #1
End Sub

بإستخدام الـ CommonDialog1 قمت بعمل امتداد للملف الذى

سيتم حفظه وهو " *.mpl "

وجعلت المعرف Save يساوى ما فى الملف المختار من

الـ CommonDialog1 , وذلك ليتم حفظه وهو ما يبينه

الكود الذى يليه وهو كود يستعمل للحفظ 0

وعرفت I بأنها Long لكى تحضر كل الملفات الصوتية

التى فى الـ ListBox و Long تعنى ان I ذات طول

معين وطولها هنا وضعته فى لووب "Loop"

بإستخدام For,Next , وقيمة I هنا هى من صفر الى 100

أى انه إذا ذاد عدد الملفات الصوتية عن 100 فسيتم

حفظ أول 100 فقط , ويمكنك زيادة هذا الرقم كما تشاء

وبعد ذلك جعلت الـ ListIndex الخاصة بالـ ListBox

تساوى I و الـ ListIndex هى كل ملف صوتى موجود

فى الـ ListBox على حدة , أى إذا كانت الـ ListIndex

تساوى ثلاثة فهذا يعنى انك حددت الملف الصوتى الثالث

فى الـ ListBox

والكود " Write #1, List1.Text " يعنى طباعة

محتويات الـ ListBox كلها وحفظها فهو كود

خاص بالحفظ أيضا 0

وللأمانة هذا الكود أخذته من عضو اجنبى بموقع آخر ولكن ليس كل الكود0

كود : mnuload

Private Sub mnuload_Click()
On Error Resume Next
Dim load As String
	CommonDialog1.Filter = "Sound Filse|*.mpl;*.m3u"
	CommonDialog1.ShowOpen
	If CommonDialog1.FileName = "" Then
	Exit Sub
	End If
	load = CommonDialog1.FileName
	CommonDialog1.FileName = ""
	List1.Clear
Dim a As String
On Error GoTo error
Open load For Input As #1
Do Until EOF(1)
Input #1, a$
List1.AddItem a$
Loop
Close 1
load = ""
Exit Sub
error:
End Sub

بإستخدام CommonDialog1 التى ستظر لنا

نافذة Open التى من خلالها نستطيع فتح الملفات من نوع

" mpl , m3u" والـ mpl هو الإمتداد الذى أنشته

أما الـ m3u فهذا امتداد الـSave الخاص بالـ Winamp

فيمكنك فتحه من هذا البرنامج

وجعلت المعرف Load يساوى ما فى الملف المختار من

الـ CommonDialog1 , وعند عمل الـ Load يتم مسح

ما فى الـ ListBox أولا بالأمر "Clear"

وبعد ذلك أمر الـ Load , وباقى الكود هو كود إدراج

الملف المحفوظ , وللأمانة هذا الكود أخذته

من عضو اجنبى بموقع آخر وهو كود الـ Load

ثانيا : طريقة عمل Link لآخر 7 ملفات تم تشغيلهم :-

نقوم بإضافة Command Button بالخصائص الأتية :-

Caption : 1
Name : cmd
Visible : False

ولن نضع به اى كود

سوف نضيف 8 أماكن فى القائمة menu editor

وذلك بعد الإختيار Delete بالخصائص الأتية :-

نترك الـ Caption فارغة فى الـ 7 اماكن الأولى

Name : mnu01
Name : mnu02
Name : mnu03
Name : mnu04
Name : mnu05
Name : mnu06
Name : mnu07

Caption :  - 
Name : mnu001

وذلك كما بالشكل :-

9bjd8.jpg

الأكواد :

(1) نضع الكود التالى فى Form Load

Private Sub Form_Load()
mnu01.Visible = False
mnu02.Visible = False
mnu03.Visible = False
mnu04.Visible = False
mnu05.Visible = False
mnu06.Visible = False
mnu07.Visible = False
mnu001.Visible = False
End Sub

هذا الكود يلغى خاصية الإظهار " Visible "

لهذه القوئم وذلك عند بداية فتح البرنامج

(2) نضع الكود التالى فى الزر cmdPlay وهو الزر Play

mnu001.Visible = True

If cmd.Caption = "1" Then
mnu01.Caption = List1.Text
mnu01.Visible = True
cmd.Caption = "2"

ElseIf cmd.Caption = "2" Then
mnu02.Caption = List1.Text
mnu02.Visible = True
cmd.Caption = "3"

ElseIf cmd.Caption = "3" Then
mnu03.Caption = List1.Text
mnu03.Visible = True
cmd.Caption = "4"

ElseIf cmd.Caption = "4" Then
mnu04.Caption = List1.Text
mnu04.Visible = True
cmd.Caption = "5"

ElseIf cmd.Caption = "5" Then
mnu05.Caption = List1.Text
mnu05.Visible = True
cmd.Caption = "6"

ElseIf cmd.Caption = "6" Then
mnu06.Caption = List1.Text
mnu06.Visible = True
cmd.Caption = "7"

ElseIf cmd.Caption = "7" Then
mnu07.Caption = List1.Text
mnu07.Visible = True
cmd.Caption = "1"

End If

أول كود وهو " mnu001.Visible = True" وهو يقوم

بإظهار الخط الفاصل بين الإختيار Exit والقوائم السبعة

والود الذى يليه يعنى انه إذا كان اسم الزر cmd بيساوى

واحد فإن أول قائمة من السبع قوائم " mnu01"

ستساوى أسم الملف الصوتى المختار من الـ ListBox

وذلك كله سيحدث عند الضغط على الزر Play الذى

وضعنا هذا الكود به

أى اننا إذا قمنا بإختيار ملف صوتى من الـListBox

وضغطنا على الزر Play سيقوم بنقل اسم هذا الملف

الى الـ Capion الخاصة بـ mnu1

وبعد ذلك يتم إظهار الـ mnu1 " mnu01.Visible = True "

ثم يتغير اسم الزر cmd الى اثنين "" cmd.Caption =" 2"

******************************

والكود التالى خاص بـ mnu02 وكوده يعنى انه إذا كان

اسم الزر cmd يساوى اثنين ينفذ باقى الكود والذى سبق

لى شرحه منذ قليل

فلقد قمت بعمل Loop بإستخدام ElseIf وذلك سيتضح

فى الكود الأخير والخاص بالإختيار mnu07

فكوده يعنى انه اذا كان اسم الزر cmd يساوى سبعة

يطبق باقى الكود والذى سبق لى شرحه منذ قليل

وبعد ذلك يصبح اسم الزر cmd واحد "1"

وتبدأ العملية من جديد

(3) الأكواد التالية ستوضع فى الحدث

Click لكل قائمة من السبع قوائم , وذلك كالتالى :-

كود mnu01

Private Sub mnu01_Click()
MediaPlayer1.FileName = mnu01.Caption
MediaPlayer1.Play
lblplay.Caption = mnu01.Caption
End Sub

وهو يعنى جعل مسار الملف الوجود فى الـmnu01

مساويا لمسار الميديا بلاير , وبعد ذلك عمل تشغيل له

وجعل اسم الليبل lblplay مساويا لإسم الـmnu01

كود mnu02

Private Sub mnu02_Click()
MediaPlayer1.FileName = mnu02.Caption
MediaPlayer1.Play
lblplay.Caption = mnu02.Caption
		End Sub

نفس شرح الإختيار السابق mnu01

كود mnu03

Private Sub mnu03_Click()
MediaPlayer1.FileName = mnu03.Caption
MediaPlayer1.Play
lblplay.Caption = mnu03.Caption
End Sub

نفس شرح الإختيار السابق mnu01

كود mnu04

Private Sub mnu04_Click()
MediaPlayer1.FileName = mnu04.Caption
MediaPlayer1.Play
lblplay.Caption = mnu04.Caption
End Sub

نفس شرح الإختيار السابق mnu01

كود mnu05

Private Sub mnu05_Click()
MediaPlayer1.FileName = mnu05.Caption
MediaPlayer1.Play
lblplay.Caption = mnu05.Caption
End Sub

نفس شرح الإختيار السابق mnu01

كود mnu06

Private Sub mnu06_Click()
MediaPlayer1.FileName = mnu06.Caption
MediaPlayer1.Play
lblplay.Caption = mnu06.Caption
End Sub

نفس شرح الإختيار السابق mnu01

كود mnu07

Private Sub mnu07_Click()
MediaPlayer1.FileName = mnu07.Caption
MediaPlayer1.Play
lblplay.Caption = mnu07.Caption
End Sub

نفس شرح الإختيار السابق mnu01

وأنتهى درس اليوم

ولكن ما زال للحديث بقية

وأرجوا منكم اخبارى برأيكم فى هذا الجزء

وأرجوا رأى أخى "الحيوتى" فى طريقة وضع

لينك لآخر 7 ملفات التى طلبها منى :)

ولغاية ما وصلنا وضعت لكم البرنامج بالمرفقات

والسلام عليكم ورحمة الله وبركاته

MP3.4.rar

#28

شكرا على الموضوع

مع تحيات : عبدالرحمن نورالله
بيلار الدولية للتكنولوجيا لتصميم وأستضافة مواقع الأنترنت ، شركة مسجلة في المملكة الاردنية الهاشمية

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

#29

ممتاز جداً

هذا بالفعل ماكنت اريده

وشكراً لك اخي zain 50 على اهتمامك بسئالي

وبالفعل شرحك جداً ممتاز ومميز وبسيط

شكراً لك مره اخرى وبالتوفيق في الامتحانات

#30
اقتباس
ولقد تعجبت حينما لم أجد هذه الأداة وأنا استعمل الفجوال بيسك بوندوز xp وأنا حاليا أستعمل

وندوز ملينيوم !!!!

اخي zina 50

كان عندي تعقيب على هذه النقطه منذ بداية الدروس وهو

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

فانا مثلاً عند استخدام الملفات المرفقه التي ترفقها انت مع الدرس لا يعمل لدي البرنامج المرفق

لان MediaPlayer1 التي عندي اصدارها اعلا من MediaPlayer1 التي استخدمتها انت وارفقتها مع

البرنامج اعطيك مثال على ذلك

اذا انت اردت ان تشغل ملف صوت تكتب الكود التالي

MediaPlayer1.Play

لكن مع الاصدار الذي استخدمه علماً بانه اخر اصدار من MediaPlayer1

استعمل الكود التالي

MediaPlayer1.Controls.play

هل لاحظت الفرق وقس على ذلك كثير من الاكواد التي استخدمتها انت

كان هذا التعقيب مجرد ملاحظة اردت ان انوه بها لاني متأكد ان كثير من الشباب الذين يستخدمون win xp

لن يعمل معهم هذا البرنامج وارجوا منك افادتي على ذلك ومن الاخوه المبرمجين عن كيفيت تفادي تلك المشكله

وشكراً

#31

مشكور لتعقيبك يا أخى "Super_Pro"

ومشكور لك يا عزيزى "الحيوتي" لإهتمامك بالموضوع

وبالنسبة لحكاية الميديا بلاير انا مش عارف اعمل ايه :(

هذا الموضوع لا يتابعه الا القليل القليل من الأعضاء , وذلك

بسبب عدم وجود الميديا بلاير القديمة بـ XP , وهم معذورون

والمشكلة انه كل ما يتم تحديث الميديا بلاير تلغى ما فبلها نهائيا

من الفجوال بيسك وهذا عيب من ميكروسفت , وياريت لو كانت

هذه الميديا OCX كانت حلت المشكلة 0

ولكنى ان شاء الله سأستعمل أى أداة لتشغيل الـ mp3 ولن استخدم

الميديا بلاير بعد الآن -_-

ولا أيه رأيك ؟؟ :^)

#32

مشكوور يا الغالي

ويعطيك العافية

تحيااااااااتي

للصداقة البرمجية

pro-vb6@hotmail.com

#34

هاااااااااااااااااااااااااايل

و ان شاء الله هطبق كل حاجه

#36

بسم الله الرحمن الرحيم

السلام عليكم و رحمه الله و بركاته

اخي الكريم

ما شاء الله عليك جدا جدا روعة الدرس

و لكني جات متاخرا جدا

و لكني عندي سؤال هل سوف تكمل الدروس البقية ام اكتفيت بهذا القدر

و لاني ارى ان اخر رد في 2006 و احنا في اول 2008 يعني تقريبا سنتين

و شكرا اتريا ردك او رد اح\ الاخوان و شكرا

#37

احب اشكر كل اللى تابعونا وقرئوا الموضوع وكل اللى شكرونا عليه ،، وربنا يوفقكم لما فيه الرشاد

بحر الامارات كتب:
بسم الله الرحمن الرحيم

السلام عليكم و رحمه الله و بركاته

اخي الكريم

ما شاء الله عليك جدا جدا روعة الدرس

و لكني جات متاخرا جدا

و لكني عندي سؤال هل سوف تكمل الدروس البقية ام اكتفيت بهذا القدر

و لاني ارى ان اخر رد في 2006 و احنا في اول 2008 يعني تقريبا سنتين

و شكرا اتريا ردك او رد اح\ الاخوان و شكرا

أخى .. بحر الامارات

انا استغربت لما رأيت رد ف الموضوع ده لأنه كما قلت قديم جدا

وانا كنت هكمله بس للأسف مكنش متابعنى الا القليل بسبب الأداة التى كنت أستخدمها

بس ان شاء الله هحاول أن أضع بعض الدروس الأخرى لكى أكمل لكم البرنامج

ان شاء الله ،،، وغالبا هيبقى فيه أكواد هتتغير قليلا

بس لما أنتهى أولا من الموضوع الذى اقوم بعمله لأنه

موضوع حياتى ، وان شاء الله هينزل هنا

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

ومستنى رأيك فى موضوعى الجديد ، وان شاء الله هرسل لك اللينك بعد ما انزله ف المنتدى

تحياتى لك ،، وتابعنا باستمرار :)

هذا الموضوع مغلق.

مواضيع مشابهة