منتديات برامج برو


 
الصفحة الرئيسيةالصفحة الرئيسية  ابحـثابحـث  التسجيلالتسجيل  التبادل الإعلانيالتبادل الإعلاني  دخولدخول  
 

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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
smilee
الــــــمـــــــدير الـــــــــعــــــام



العمر : 17
سجّل في : 23 يناير 2008
عدد المساهمات : 649
الدولة : منتديات برامج برو
نوع الجوال : N80
نظام التشغيل : Win XP

مُساهمةموضوع: درس طريقة صنع برنامج مثل الـ winamp   الثلاثاء 11 مارس 2008, 5:14 pm

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


أقدم لكم درس " كيف تصنع برنامجا مثل الـ winamp "

وسنستخدم فى هذا الدرس الـ MediaPlayer وأنا هنا أقصد الميديا بلاير العادية "القديمة"

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

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

نبدأ الدرس بالصلاه والسلام على رسول الله

نبدأ مشروعا جديدا standerd

ثم نضع اداة الـ MediaPlayer وذلك من project >> components

ثم نختار الأداة windows media player وهى غالبا آخر القائمة

ثم نضغط ok والأداة كما بالشكل




وبعد ذلك نقوم بوضعها على النموذج ونضع كذلك الآتى :-


كود
Commandbuttontame Name Caption

1 cmdplay Play

2 cmdpause Pause

3 cmdstop Stop

4 cmdmute Mute



ونضع بعد ذلك أداة ListBox

ونختار الأداة CommonDialog وذلك من project << components

واسمها Microsoft common Dialog control 6.0 ثم نضغط Ok

وبعد ذلك نقوم بوضعها على النموذج "Form"

ثم نقوم بفتح قائمة menu editor ونقوم بعمل الآتى :-

Caption >> File

Name >> mnufile

ثم نضغط على next ونختار السهم المتجه ناحية اليمين , ونكتب

Caption >> Open

Name >> mnuopen


ونضغط Ok , أنظر الشكل :-




ويجب ان يصبح البرنامج كالشكل التالى :-




وثانى مرحلة هى كتابة الأكواد :

ملحوظة : قمت فى بعض الأكواد بكتابة 1 , 2 , 3 , 000 وذلك لكى تسهل لى طريقة الشرح
فيجب ازالتها فى الكود الأصلى 0


أولا : الزر Play


كود
Private Sub cmdplay_Click ()
1 : On Error Resume Next
2 : MediaPlayer1.FileName = List1.Text
3 : MediaPlayer1.Play
End Sub



1 : هذا الكود يعنى تجاهل الأخطاء فإذا ضغط الشخص زر play

دون اختياره الملف الصوتى يمنع هذا الكود حدوث رسالة خطأ0

2 : يعنى تجهيز الميديا بلاير بتشغيل ما فى الـ ListBox0

3 : هذا أمر التشغيل0


ثانيا : الزر Pause


كود
Private Sub cmdpause_Click()
On Error Resume Next
If MediaPlayer1.PlayState = 1 Then
MediaPlayer1.Play
cmdpause.Caption = "Pause"
Else
MediaPlayer1.Pause
cmdpause.Caption = ">"
End Sub




الشرح : إذا كانت الميديا فى حالة تشغيل أى play يتم إيقاف التشغيل

إيقافا مؤقتا, وإذا ضغطنا على الزر مرة اخرى يتم تشغيل الميديا

من الوضع نفسه الذى كانت ثابتة عليه0


ثالثا : الزر Stop


كود
Private Sub cmdstop_Click()
MediaPlayer1.Stop
End Sub



ويعنى إيقاف الميديا عن العمل نهائيا وليس مؤقتا0

رابعا : الزر Mute


كود
Private Sub cmdmute_Click()
On Error Resume Next
If cmdmute.Caption = "Mute" Then
MediaPlayer1.Mute = True
cmdmute.Caption = "Mute X"
Else
MediaPlayer1.Mute = False
cmdmute.Caption = "Mute"
End If
End Sub



ويعنى انه إذا كان الزر اسمه Mute فإنه يقوم بإلغاء الصوت ويصبح اسمه Mute X ,

و إذا كان الزر اسمه Mute X فإنه يقوم بتشغيل الصوت ويصبح اسمه Mute ,,, وهكذا .


أما عن القائمة : Open

الكود الخاص بـ "mnuopen"



كود
Private Sub mnuopen_Click()
On Error Resume Next
1 : Dim add As String
2 : With CommonDialog1
3 : .Filte "A7medzain@yahoo|*.mp3;*.avi;*.asf;*.wmv;*.wav;*.wmp;*.wma;*.mid"
4 : .ShowOpen
5 : If .FileName = "" Then
6 : Exit Sub
7 : End If
8 : End With
9 : add = CommonDialog1.FileName
10 : CommonDialog1.FileName = ""
11 : List1.AddItem add
12 :add = ""
End Sub



1 : تم تعريف "add" بأنها " String " أى مجموعة من الحروف0

2 : قمت باستخدام الـ CommonDialog الذى سيظهر نافذة Open

وقمت باستخدام With حتى استطيع استخدام CommonDialog بدون

كتابته كل مرة واكتفيت بوضع النقطة 0

3 : وهذه هى الملفات التى يمكن تشغيلها ولكنى لا أعرف جميع الملفات التى

تشغلها الميديا بلاير فمن يعرف ملفات غير هذه يقوم بإضافتها إليها0

4 : وهذا أمر لفتح نافذة Open

5 , 6 : ويعنى انك إذا قمت بفتح نافذة Open ولم تختر شيئا- أى ضغطت على Cancel

فإن النافذة تغلق دون إضافة أى شىء للـ ListBox

9 : مساواة add بما تم اختياره من القائمة Open

10 : وهذا الأمر يفرغ ما تم اختياره من القائمة Open إذا رجعت فى رأيك واخترت Cancel

11 : وهذا الأمر لإضافة ما فى add الى الـ ListBox

12 : لتفريغ add مرة اخرى حتى اذا قمت باختيار Open مرة اخرى تكون add

فارغة لاستقبال ملفات صوتية اخرى0


وأدعو الله ان تكونوا قد فهمتم هذا الدرس واستفدم منه

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

وهو بالمرفقات

وللدرس بقية إن شاء الله



_________________

أنى اتجهت الى الإسلام فى بلــد & & تجده كالطير مقصوصا جناحاهُ

كم صرفتنــــا يد كنـــــا نصرفهـا& & وبـات يملكنـا شعبـــا ملـكنــــاهُ


الرجوع الى أعلى الصفحة اذهب الى الأسفل
smilee
الــــــمـــــــدير الـــــــــعــــــام



العمر : 17
سجّل في : 23 يناير 2008
عدد المساهمات : 649
الدولة : منتديات برامج برو
نوع الجوال : N80
نظام التشغيل : Win XP

مُساهمةموضوع: رد: درس طريقة صنع برنامج مثل الـ winamp   الثلاثاء 11 مارس 2008, 5:19 pm

[center]بسم الله الرحمن الرحيم


نبدأ المرحلة الثانية من الدرس إن شاء الله

الصوت :-

لكى نستطيع عمل شريطة الصوت نتبع الآتى :

نختار Microsoft windows common controls 6.0 sp6

وذلك من project >> components

وبعد ذلك نختار الأداة Slider

ونكتب فى خصائصها الآتى :


كود
Brderstyle = 1
Max = 2500
Min = 0
Selstart = 2500
Tickstyle = 3
Value=2500


2500 هو اعلى رقم للصوت و 0 هو أقل رقم للصوت

و Selstart هو عند بداية البرنامج يكون الصوت على أعلى درجاته

و Value هو القيمة الكلية للصوت التى لا يجوز تجاوزها

ونكتب الكود التالى فى الحدث Scroll


كود
Private Sub Slider1_Scroll()
On Error Resume Next
MediaPlayer1.Volume = Slider1.Value - 2500
If Slider1.Value = 0 Then
MediaPlayer1.Mute = True
Else
MediaPlayer1.Mute = False
End If
End Sub


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

وإذا حركت هذه الشريطة للقيمة صفر يتم إسكات الصوت أى "Mute = true"


** وبذلك نكون غير مقيدين بأزرار الميديا بلاير

وبالتالى يجب ان يصبح الشكل هكذا :





فتح مجلد صوت كامل :

أولا : نضع فى الـ menu editor ما يلى :

نقوم أولا بتغيير الـ Caption الخاصة بـ Open

وجعلها Open File

ثم نقوم بكتابة Open Folder فى Caption جديد

ونجعل الـ Name الخاصة به mnuopenfolder

ونضغط Ok

ونكتب فى الكود الخاص به ما يلى :


كود
Private Sub mnuopenfolder_Click()
Form2.Show
End Sub


وهذا الكود يقوم بإظهار فورمة جديدة والتى سنقوم بإضافتها

وذلك بعد قراءة ما يلى

ثانيا: نقوم بإدراج فورم جديدة "Form2"

وذلك من Project >> Add Form

ونضع فى هذه الفورم الجديدة مايلى :


كود
DriveListBox & DirListBox & FileListBox

CommandButton : Name = cmdok , Caption = Ok / Cance

CommandButton : Name = cmdall , Caption = Add All

CommandButton : Name = cmdadd , Caption = Add


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



ونقوم بكتابة هذه الصيغ *.mp3;*.avi;*.asf;*.wmv;*.wav;*.wmp;*.wma

فى Pattern الخاصة بـ File1

وهذه الصيغ التى ستظهر فقط فى File1 ويمكن زيادتها بكل أنواع

صيغ الملفات التى تقبلها الميديا يلاير

وثانى مرحلة هى كتابة الأكواد :


كود Drive1

كود
Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
End Sub


وهذا الكود معروف فهو لإظهار المجلدات التى فى الدرايف أو السواقة فى Dir1

كود Dir1

كود
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub


وهذا الكود لإظهار الملفات التى فى الداير أو المجلدات فى File1

كود الزر Add All

كود
Private Sub cmdall_Click()
For X = 1 To File1.ListCount
File1.ListIndex = X - 1
Form1.List1.AddItem File1.Path & "\" & File1.FileName
Next X
End Sub


وهذا الكود للقيام بإضافة مجلد صوت كامل

فإذا كتبت الكود الذى فى الستر الثالث فقط

يقوم بإضافة الملف الصوتى الأول فقط وانا هنا قمت

باستخدام For,Next ليقوموا بعمل Loop

أى بإدراج كل الملفات التى فى المجلد


كود الزر Add

كود
Private Sub cmdadd_Click()
Form1.List1.AddItem Dir1.Path & "\" & File1.FileName
End Sub



إذا كنت لا تود بإدراج كل الملفات التى فى المجلد

وتريد إدراج بعضها فقط فعليك بإختيار الملف

وضغط هذا الزر

فهذا الكود يعنى إضافة الملف المختار أو المنشط فقط

وليس كل ما فى المجلد , وقد ذكرته فى كود الزر السابق


كود الزر OK / Cancel


كود
Private Sub cmdok_Click()
Unload Me
End Sub



وهو يقوم بإغلاق نافذة فتح مجلد وهذه هى وظيفته فقط

ويمكن استبدالها بها الكود Form2.hide ولن يحدث أى إختلاف


كود File1


كود
Private Sub File1_DblClick()
cmdadd_Click
End Sub



وهذا الكود نضعه فى الحدث DblClick

وهو يعنى انك إذا قمت بالضغط DblClick على أى ملف

صوتى ينفذ الكود الذى فى الزر Add أى يقوم بإضافة هذا الملف

الصوتى الى الـ ListBox دون إضافة المجلد بأكمله

وهذه تعتبر إختصارة بدل كتابة كود الزر Add فى File1_DblClick


القائمة menu editor :

نقوم بإضافة التالى :

كود
Caption = New list , Name = mnunew

Caption = Refresh, Name = mnuRefresh

Caption = Delete, Name = mnudel

Caption = Exit, Name = mnuExit


ويجب ان يكونوا مثل هذا الشكل :



وتصنع هذه الفواصل بكتابة – أى كتابة "ناقص" وتكتب فى

الـ Caption وتكون كالتالى فى الـ menu editor

Caption = - , Name = mnu1

ونكتب فى الـ Name أى حاجة أى لا نتقيض بكتابة شىء

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


كتابة الأكواد :-


الزر New list


كود
Private Sub mnunew_Click()
Dim Message As String
Dim Title As String
Dim ButtonsAndIcon As Long
Dim Response As String
Message = "are you sure"
ButtonsAndIcon = vbYesNo + vbQuestion + _
vbMsgBoxRtlReading
Title = "New List"
Response = MsgBox(Message, ButtonsAndIcon, Title)
If Response = vbYes Then
List1.Clear
End If
End Sub



وكود عمل صفحة جديدة هو List1.Clear وبالمعنى الأصح هو يمسح

ما فى الـ ListBox

أما ما فعلته أنا اظهار رسالة بنعم أو لا فإذا اخترت نعم سينفذ الكود

وقمت بفعل ذلك حتى لا يضيع ما وضعته فى الـ ListBox سهوا


الزر Refresh


كود
Private Sub mnuRefresh_Click()
List1.Refresh
End Sub



وهو لتنشيط الـ ListBox

الزر Delete


كود
Private Sub mnudel_Click()
On Error Resume Next
List1.RemoveItem List1.ListIndex
End Sub


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

الزر Exit

كود
Private Sub mnuExit_Click()
Form2.Hide
End
End Sub


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

جديد اذا كانت مفتوحة


الحدث Form1.Unload

كود
Private Sub Form_Unload(Cancel As Integer)
Form2.Hide
End Sub



وذلك اذا قمنا بالضغط على علامة الغلق

X تقوم بغلق البرنامج و نافذة فتح مجلد

جديد اذا كانت مفتوحة 0


ويارب يكون الشرح قد نال اعجابك

وارجو منكم الدعاء لى وللمسلمين

[/center]

_________________

أنى اتجهت الى الإسلام فى بلــد & & تجده كالطير مقصوصا جناحاهُ

كم صرفتنــــا يد كنـــــا نصرفهـا& & وبـات يملكنـا شعبـــا ملـكنــــاهُ


الرجوع الى أعلى الصفحة اذهب الى الأسفل

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج برو :: .. :: منتديات البرمجة :: .. :: قسم الفيجوال بيسك-