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]
_________________
أنى اتجهت الى الإسلام فى بلــد & & تجده كالطير مقصوصا جناحاهُ
كم صرفتنــــا يد كنـــــا نصرفهـا& & وبـات يملكنـا شعبـــا ملـكنــــاهُ  |
|