منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[كود] برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : [كود] برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى (/showthread.php?tid=3063)



برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى - a_almisery - 31-05-14

الــسلام عليكم ... كيــفكم يا غـوالي ....
ان شاء الله انكم تــمام وفي صـحه وعـافيـه
طبعاً هذا اول مــشاركه لي كـكـاتب مــوضووع
وان شــاء نتعــاون جميعاً في بـناء هذا الـصرح العلمي ...
طبعاً عنـدي بـرنامج يـقوم بتغيـر خلـفيه سطح المــكتب كـل 6 ثوانـي وهذه فتره قصيره بامكانك زيادهتها ....
وسـاحول ان أشــرح الاكــواد بـلرغم انهـا سـهله
ولكـنني كـمبتدى في لغـه البيسك دوت نـت واجـهتني صعــوبه ومن اشـدها عمل راندم ع محتويات listbox وجلب قيــمه Item
ونحـتاج الى هذا الـكود الـمهم جداً وهـو :
PHP كود :
Private Declare Function systemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As IntegerByVal uParam As IntegerByVal lpvParam As StringByVal FuWinIni As Integer) As Integer
    
Private Const SETDESKWALLPAPER 20
    
Private Const UPDATEINIFILE = &H1 
ومن خلال هذه الفنكشن نغــير الصـوره


: سـابدأ :
في الاول : لديـنا زر ومن اهم اعمـال هذا الزر يـحدد الملف المـوجود بداخـله الـصور المـراد تغييرها خلـفيه لسطح المكـتب بشكل عشؤائي

PHP كود :
[align=left]FolderBrowserDialog1.ShowDialog()
        
Dim path As String
        path 
FolderBrowserDialog1.SelectedPath
        
For Each i In IO.Directory.GetFiles(path"*.jpg")
            
ListBox1.Items.Add(i)
        
Next
        Label1
.Text ListBox1.Items.Count 

في الاول يــجب اظـافه اداه FolderBrowserDialog الى الفـورم
وقم باضافه الادوات الــتالــيه :.
1 - command
2- 1 listbox
3- 1 timer

ثم اخــتر ما يــحلوو لك من label كتــوضيح للمــستخدم

نبــدا بشــرح الــكود :


PHP كود :
FolderBrowserDialog1.ShowDialog 
في هـذا
نقـوم بـعرض مربع تحديد الـملف

------------------------
قـمنا بتعريف عن متــغير من نوع string
Dim path As String

-------------------------

نقوم با اعطاءه قيمه للمتغير path
FolderBrowserDialog1.SelectedPath
وهي ما المسار الذي تم تحديده
------------------------
نقوم بعمل حلقه تـكرار كتــالي :
PHP كود :
For Each i In IO.Directory.GetFiles(path"*.jpg")
            
ListBox1.Items.Add(i)
        
Next 


في هذه الحلـقه استخدمنا داله
GetFiles

وارسلنا اليها المسار المعرف بــبـ path
وقم بتحديد نــوع الملفات المراد ارسالها الــ listbox
بــ "*jpg "
ثم امرنا الحلقه بـان كل ملف في مسـار path
قم بـاضافته الى اعضاء listbox
بهذا الــكود

PHP كود :
ListBox1.Items.Add(i


------------------------------


الــمرحـله الــثانيــه : .. في الحدث الــخاص Timer1_Tick
والاهم .. ::



تــابع الكـود الـتالي :
PHP كود :
If ListBox1.Items.Count 0 Then
            
Exit Sub
        End 
If
        
Dim rnd As New Random
        Dim file 
As String
        Dim ruslt 
As String
        file 
rnd.Next(0ListBox1.Items.Count)
        
ruslt ListBox1.Items.Item(file).ToString
        Label2
.Text ruslt
        
' Bin Hatheem Ali 
        ' 
A_almisery
        
'vb4arb.com
        systemParametersInfo(SETDESKWALLPAPER, 0, ruslt, UPDATEINIFILE) 

في الاول كتبـنا هذا الـكود لتـاكد من ان listbox يوجد به صـور
PHP كود :
If ListBox1.Items.Count 0 Then
            
Exit Sub
        End 
If 

وهذا الـكود لا يحتاج شــرح


---------------------------------------
ثم قمنا بتعريف عن متغير من نوع random
بـتالي
PHP كود :
Dim rnd As New Random 

---------------------------------------
ثم عرفنا عن متغيران من نوع string
كتــالي
PHP كود :
Dim file As String
        Dim ruslt 
As String 


-------------------------------------
ثم اسندنا قيمه للـمتغير file
كتـالي
rnd.Next(0, ListBox1.Items.Count)
وحـدنا كيف يتم اختيار القيم من item
ومن هذا الكود يقوم بتحديد رقم عشؤائي من بين 0 الى رقم جميع القيمَ

------------------------------------
ثم اسندنا قـيمه لمتغــير ruslt

PHP كود :
ruslt ListBox1.Items.Item(file).ToString 

وهذا اصعب كـود كان بنســبه لــي

وهو تـحويل مـوقع المـحدد من داله random الي نوع string
بداله tostring()
----------------------------------

وهنا ياتي الـكود المهم وهــو / اســتعداء داله systemParametersInfo

PHP كود :
systemParametersInfo(SETDESKWALLPAPER0rusltUPDATEINIFILE
[/align][align=center]
والحمد لله

بــلمـناسبــه لديــنا مـحرر متعب وليسـ مشجع للكتــابه
الــمثال في الـمرفقــات




RE: برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى - vb_net - 31-05-14

عمل ممتاز اخي ان شاء الله نستفيد من هده الاكواد


RE: برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى - a_almisery - 01-06-14

عفواً نســيت قــيمه الانترفيـو بتــاع التــايمر ومــنه يــتم تحديد مهــله لتــغيــر الـخلــفيــه



RE: برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى - abulayth - 01-06-14

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


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


RE: برنامج تغيـر صوره الخلفـيه كل 6 ثوانـي بصوره اخـرى - a_almisery - 01-06-14

إقتباس :مشكور على جهدك المبذول جعله الله في ميزان حسناتك


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

الله يــعافــيك يــا بـو لــيث