04-10-12, 11:32 AM
سنقوم بعمل مثال لحافظة تقوم بعرض فيديو ،
قم بانشاء مشروع نوافذي جديد ، وكما قلنا ، اضف نموذج آخر للاعدادت ،
للنموذج الخاص بالحافظة ، غير خاصائصه كالتالي :-
ثم أضف الأداة AxWindowsMediaPlayer وتعلمون طريقة أضافتها ( مستعد ان اخبرها عند الطلب ) ، ثم غير الخاصية Dock لها الى Fill ، ثم أضف Timer واجعل قيمة الـ Interval له 1 وقية الـ Enable له True
، هذا للفورم الاول
الآن نذهب للأكواد :-
1. نموذج الاعدات :-
قم بتعريف هذين الاجرائين الأول لسلسلة الإعدادت :-
والثاني لاسترجاع الاعدات :-
في حدث الـ Load للنموذج :-
في حدث النقر للزر تم :-
هذا بالنسبة لنموذج الاعدادات ،
2. نموذج الحافظة :-
في قسم التصريحات :-
وعرف هذا الإجراء :-
في حدث الـ Load :-
لاحظ هنا نستدعي الاجراء الذي يقوم بتطبيق الاعدادت ،
في حدث الـ Tick للـ Timer1 :-
لاحظ هنا نقوم باختبار ما اذا تم تحريك الفأرة ، نقوم عندها باغلاق الحافظة
بقي شيء مهم ، وهو الكود الخاص بالتفريق بين المعامل المرسل في سطر الاوامر ،
في نافذة خصائص المشروع أضغط على الزر Viwe Application Events ومن ثم اختر الحدث MyApplication_Startup ، واكتب الكود التالي :-
بقي ان تقوم بترجمة البرنامج : اضغط F5 ،
اذهب الى ملفات المشروع ، وغير امتداد البرنامج الى .scr
اضغط بزر الفأرة الأيمن على البرنامج واختر Install
تم تثبيت حافظة الشاشة بنجاح !! يمكنك الآن تعديل الاعدادات ! ، وتشغيل الحافظة !
والسلام عليكم ورحمة الله وبركاته
قم بانشاء مشروع نوافذي جديد ، وكما قلنا ، اضف نموذج آخر للاعدادت ،
للنموذج الخاص بالحافظة ، غير خاصائصه كالتالي :-
كود :
[color=#000000][FONT=arial][b]Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None[/b][/FONT][/color]
[color=#000000][FONT=arial][b]Me.ShowInTaskbar = False[/b][/FONT][/color]
[color=#000000][FONT=arial][b]Me.WindowState = System.Windows.Forms.FormWindowState.Maximized[/b][/FONT][/color]، هذا للفورم الاول
الآن نذهب للأكواد :-
1. نموذج الاعدات :-
كود :
[color=#0000BB]في حدث النقر للزر الذي بجانب مربع النص [/color][COLOR=#007700]:-
If [/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]OpenFileDialog1[/color][color=#007700].[/color][color=#0000BB]ShowDialog [/color][color=#007700]= [/color][color=#0000BB]Windows[/color][color=#007700].[/color][color=#0000BB]Forms[/color][color=#007700].[/color][color=#0000BB]DialogResult[/color][color=#007700].[/color][COLOR=#0000BB]OK Then
Me[/COLOR][color=#007700].[/color][color=#0000BB]TextBox1[/color][color=#007700].[/color][color=#0000BB]Text [/color][color=#007700]= [/color][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]OpenFileDialog1[/color][color=#007700].[/color][COLOR=#0000BB]FileName
End [/COLOR][COLOR=#007700]If
[/COLOR]قم بتعريف هذين الاجرائين الأول لسلسلة الإعدادت :-
كود :
[color=#0000BB] Sub SaveSetting[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]Dim data[/color][color=#007700]() As [/color][color=#0000BB]Object [/color][color=#007700]= {[/color][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]TextBox1[/color][color=#007700].[/color][color=#0000BB]Text[/color][color=#007700], [/color][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]CheckBox1[/color][color=#007700].[/color][color=#0000BB]Checked[/color][color=#007700], [/color][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]CheckBox2[/color][color=#007700].[/color][color=#0000BB]Checked[/color][COLOR=#007700]}
[/COLOR][color=#0000BB]Dim st [/color][color=#007700]As [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]FileStream [/color][color=#007700]= [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]File[/color][color=#007700].[/color][color=#0000BB]Open[/color][color=#007700]([/color][color=#DD0000]"c:\data.AnsI"[/color][color=#007700], [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]FileMode[/color][color=#007700].[/color][color=#0000BB]OpenOrCreate[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Dim SerialObj [/color][color=#007700]As New [/color][color=#0000BB]Runtime[/color][color=#007700].[/color][color=#0000BB]Serialization[/color][color=#007700].[/color][color=#0000BB]Formatters[/color][color=#007700].[/color][color=#0000BB]Binary[/color][color=#007700].[/color][color=#0000BB]BinaryFormatter[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]SerialObj[/color][color=#007700].[/color][color=#0000BB]Serialize[/color][color=#007700]([/color][color=#0000BB]st[/color][color=#007700], [/color][color=#0000BB]data[/color][COLOR=#007700])
[/COLOR][color=#0000BB]st[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]()
[/COLOR][COLOR=#0000BB]End Sub
[/COLOR]والثاني لاسترجاع الاعدات :-
كود :
[color=#0000BB] Sub AplySetting[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]Dim data[/color][color=#007700]([/color][color=#0000BB]2[/color][color=#007700]) As [/color][COLOR=#0000BB]Object
Dim st [/COLOR][color=#007700]As [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]FileStream [/color][color=#007700]= [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]File[/color][color=#007700].[/color][color=#0000BB]Open[/color][color=#007700]([/color][color=#DD0000]"c:\data.AnsI"[/color][color=#007700], [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]FileMode[/color][color=#007700].[/color][color=#0000BB]OpenOrCreate[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Dim SerialObj [/color][color=#007700]As New [/color][color=#0000BB]Runtime[/color][color=#007700].[/color][color=#0000BB]Serialization[/color][color=#007700].[/color][color=#0000BB]Formatters[/color][color=#007700].[/color][color=#0000BB]Binary[/color][color=#007700].[/color][color=#0000BB]BinaryFormatter[/color][COLOR=#007700]()
Try
[/COLOR][color=#0000BB]data [/color][color=#007700]= [/color][color=#0000BB]CType[/color][color=#007700]([/color][color=#0000BB]SerialObj[/color][color=#007700].[/color][color=#0000BB]Deserialize[/color][color=#007700]([/color][color=#0000BB]st[/color][color=#007700]), [/color][color=#0000BB]Object[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]TextBox1[/color][color=#007700].[/color][color=#0000BB]Text [/color][color=#007700]= [/color][color=#0000BB]data[/color][color=#007700]([/color][color=#0000BB]0[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]CheckBox1[/color][color=#007700].[/color][color=#0000BB]Checked [/color][color=#007700]= [/color][color=#0000BB]data[/color][color=#007700]([/color][color=#0000BB]1[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]CheckBox2[/color][color=#007700].[/color][color=#0000BB]Checked [/color][color=#007700]= [/color][color=#0000BB]data[/color][color=#007700]([/color][color=#0000BB]2[/color][COLOR=#007700])
Catch [/COLOR][color=#0000BB]ex [/color][color=#007700]As [/color][COLOR=#0000BB]Exception
End [/COLOR][COLOR=#007700]Try
[/COLOR][color=#0000BB]st[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]()
[/COLOR][COLOR=#0000BB]End Sub
[/COLOR]في حدث الـ Load للنموذج :-
كود :
[color=#0000BB] AplySetting[/color][COLOR=#007700]()
[/COLOR]في حدث النقر للزر تم :-
كود :
[color=#0000BB] SaveSetting[/color][COLOR=#007700]()
[/COLOR]هذا بالنسبة لنموذج الاعدادات ،
2. نموذج الحافظة :-
في قسم التصريحات :-
كود :
[color=#0000BB]Dim IS_Re [/color][color=#007700]As [/color][color=#0000BB]Boolean [/color][color=#007700]= [/color][COLOR=#0000BB]True
Dim isActive [/COLOR][color=#007700]As [/color][color=#0000BB]Boolean [/color][color=#007700]= [/color][COLOR=#0000BB]False
Dim mouseLocation [/COLOR][color=#007700]As [/color][COLOR=#0000BB]Point
[/COLOR]وعرف هذا الإجراء :-
كود :
[color=#0000BB] Sub AplySetting[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]Dim data[/color][color=#007700]([/color][color=#0000BB]2[/color][color=#007700]) As [/color][COLOR=#0000BB]Object
Dim st [/COLOR][color=#007700]As [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]FileStream [/color][color=#007700]= [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]File[/color][color=#007700].[/color][color=#0000BB]Open[/color][color=#007700]([/color][color=#DD0000]"c:\data.AnsI"[/color][color=#007700], [/color][color=#0000BB]IO[/color][color=#007700].[/color][color=#0000BB]FileMode[/color][color=#007700].[/color][color=#0000BB]OpenOrCreate[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Dim SerialObj [/color][color=#007700]As New [/color][color=#0000BB]Runtime[/color][color=#007700].[/color][color=#0000BB]Serialization[/color][color=#007700].[/color][color=#0000BB]Formatters[/color][color=#007700].[/color][color=#0000BB]Binary[/color][color=#007700].[/color][color=#0000BB]BinaryFormatter[/color][COLOR=#007700]()
Try
[/COLOR][color=#0000BB]data [/color][color=#007700]= [/color][color=#0000BB]CType[/color][color=#007700]([/color][color=#0000BB]SerialObj[/color][color=#007700].[/color][color=#0000BB]Deserialize[/color][color=#007700]([/color][color=#0000BB]st[/color][color=#007700]), [/color][color=#0000BB]Object[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]AxWindowsMediaPlayer1[/color][color=#007700].[/color][color=#0000BB]URL [/color][color=#007700]= [/color][color=#0000BB]data[/color][color=#007700]([/color][color=#0000BB]0[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]AxWindowsMediaPlayer1[/color][color=#007700].[/color][color=#0000BB]stretchToFit [/color][color=#007700]= [/color][color=#0000BB]data[/color][color=#007700]([/color][color=#0000BB]1[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]IS_Re [/color][color=#007700]= [/color][color=#0000BB]data[/color][color=#007700]([/color][color=#0000BB]2[/color][COLOR=#007700])
Catch [/COLOR][color=#0000BB]ex [/color][color=#007700]As [/color][COLOR=#0000BB]Exception
End [/COLOR][COLOR=#007700]Try
[/COLOR][color=#0000BB]st[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]()
[/COLOR][COLOR=#0000BB]End Sub
[/COLOR]في حدث الـ Load :-
كود :
[color=#0000BB] AplySetting[/color][COLOR=#007700]()
[/COLOR]لاحظ هنا نستدعي الاجراء الذي يقوم بتطبيق الاعدادت ،
في حدث الـ Tick للـ Timer1 :-
كود :
[color=#007700]If [/color][COLOR=#0000BB]Not isActive Then
mouseLocation [/COLOR][color=#007700]= [/color][COLOR=#0000BB]MousePosition
isActive [/COLOR][color=#007700]= [/color][COLOR=#0000BB]True
[/COLOR][COLOR=#007700]Else
If [/COLOR][color=#0000BB]Math[/color][color=#007700].[/color][color=#0000BB]Abs[/color][color=#007700]([/color][color=#0000BB]MousePosition[/color][color=#007700].[/color][color=#0000BB]X [/color][color=#007700]- [/color][color=#0000BB]mouseLocation[/color][color=#007700].[/color][color=#0000BB]X[/color][color=#007700]) > [/color][color=#0000BB]10 OrElse Math[/color][color=#007700].[/color][color=#0000BB]Abs[/color][color=#007700]([/color][color=#0000BB]MousePosition[/color][color=#007700].[/color][color=#0000BB]Y [/color][color=#007700]- [/color][color=#0000BB]mouseLocation[/color][color=#007700].[/color][color=#0000BB]Y[/color][color=#007700]) > [/color][COLOR=#0000BB]10 Then
Close[/COLOR][COLOR=#007700]()
[/COLOR][color=#0000BB]End [/color][COLOR=#007700]If
[/COLOR][color=#0000BB]End [/color][COLOR=#007700]If
If [/COLOR][color=#0000BB]IS_Re Then Me[/color][color=#007700].[/color][color=#0000BB]AxWindowsMediaPlayer1[/color][color=#007700].[/color][color=#0000BB]Ctlcontrols[/color][color=#007700].[/color][color=#0000BB]play[/color][COLOR=#007700]()
[/COLOR]لاحظ هنا نقوم باختبار ما اذا تم تحريك الفأرة ، نقوم عندها باغلاق الحافظة
بقي شيء مهم ، وهو الكود الخاص بالتفريق بين المعامل المرسل في سطر الاوامر ،
في نافذة خصائص المشروع أضغط على الزر Viwe Application Events ومن ثم اختر الحدث MyApplication_Startup ، واكتب الكود التالي :-
كود :
[COLOR=#000000][FONT=arial][b]
[color=#007700]If [/color][color=#0000BB]e[/color][color=#007700].[/color][color=#0000BB]CommandLine[/color][color=#007700].[/color][color=#0000BB]Count [/color][color=#007700]> [/color][COLOR=#0000BB]0 Then
Dim arg [/COLOR][color=#007700]As [/color][color=#0000BB]String [/color][color=#007700]= [/color][color=#0000BB]e[/color][color=#007700].[/color][color=#0000BB]CommandLine[/color][color=#007700]([/color][color=#0000BB]0[/color][color=#007700]).[/color][color=#0000BB]ToLower[/color][color=#007700]([/color][color=#0000BB]System[/color][color=#007700].[/color][color=#0000BB]Globalization[/color][color=#007700].[/color][color=#0000BB]CultureInfo[/color][color=#007700].[/color][color=#0000BB]InvariantCulture[/color][color=#007700]).[/color][color=#0000BB]Trim[/color][color=#007700]().[/color][color=#0000BB]Substring[/color][color=#007700]([/color][color=#0000BB]0[/color][color=#007700], [/color][color=#0000BB]2[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Select [/color][color=#007700]Case [/color][COLOR=#0000BB]arg
[/COLOR][color=#007700]Case [/color][COLOR=#DD0000]"/c"
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]MainForm [/color][color=#007700]= [/color][color=#0000BB]My[/color][color=#007700].[/color][color=#0000BB]Forms[/color][color=#007700].[/color][COLOR=#0000BB]Form2
[/COLOR][color=#007700]Case [/color][COLOR=#DD0000]"/p"
[/COLOR][color=#0000BB]e[/color][color=#007700].[/color][color=#0000BB]Cancel [/color][color=#007700]= [/color][COLOR=#0000BB]True
[/COLOR][color=#007700]Case [/color][COLOR=#DD0000]"/s"
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]MainForm [/color][color=#007700]= [/color][color=#0000BB]My[/color][color=#007700].[/color][color=#0000BB]Forms[/color][color=#007700].[/color][COLOR=#0000BB]Form1
[/COLOR][COLOR=#007700]Case Else
[/COLOR][color=#0000BB]MessageBox[/color][color=#007700].[/color][color=#0000BB]Show[/color][color=#007700]([/color][color=#DD0000]"Invalid command line argument :" [/color][color=#007700]+ [/color][color=#0000BB]arg[/color][color=#007700], [/color][color=#DD0000]"Invalid Command Line Argument"[/color][color=#007700], [/color][color=#0000BB]MessageBoxButtons[/color][color=#007700].[/color][color=#0000BB]OK[/color][color=#007700], [/color][color=#0000BB]MessageBoxIcon[/color][color=#007700].[/color][color=#0000BB]Error[/color][COLOR=#007700])
[/COLOR][COLOR=#0000BB]End Select
[/COLOR][COLOR=#007700]Else
[/COLOR][color=#0000BB]Me[/color][color=#007700].[/color][color=#0000BB]MainForm [/color][color=#007700]= [/color][color=#0000BB]My[/color][color=#007700].[/color][color=#0000BB]Forms[/color][color=#007700].[/color][COLOR=#0000BB]Form1
End [/COLOR][COLOR=#007700]If
[/COLOR]
[/b][/FONT][/COLOR]اذهب الى ملفات المشروع ، وغير امتداد البرنامج الى .scr
اضغط بزر الفأرة الأيمن على البرنامج واختر Install
تم تثبيت حافظة الشاشة بنجاح !! يمكنك الآن تعديل الاعدادات ! ، وتشغيل الحافظة !
والسلام عليكم ورحمة الله وبركاته
