PDA

View Full Version : حرفه ای: نمایش Random عکس در یک PictureBox ؟



shahmahi
پنج شنبه 19 شهریور 1388, 17:12 عصر
بچه ها سلام

من یک پوشه شامل تعدادی عکس دارم با پسوند jpg که در محلی که پروژه برنامه رو سیو کردم قرار داره حالا میخوام PictureBox ، هربار که برنامه اجرا میشه یکی از این عکسها رو به صورت Random نشون بده . به طوریکه اگه کاربر از برنامه خارج شد و دوباره وارد شد جای عکسی که دیده بود یک عکس دیگه ای رو ببینه. اگه کسی کامپوننت خاصی ،برنامه ای در این باره و یا کدی رو بلده لطفا منو از اطلاعاتش محروم نکنه . :چشمک:

.:KeihanCPU:.
پنج شنبه 19 شهریور 1388, 19:54 عصر
عکسهات رو به این ترتیب نام گذاری کن

1.jpg
2.jpg
3.jpg
4.jpg
,...
بعدا میتونی توسط کد عدد تصادفی یکی از عکسها رو انتخاب کنی

Randomize Timer
dim S as integer
s=int(rnd *10)

خط اول باعث میشه اعدادی که به صورت تصادفی انتخاب میشن هر بار تغییر کنند
خط دوم هم که مشخصه
خط سوم هم یک عدد تصادفی بین 0 تا 10 انتخاب میکنه که بسته به نیاز میتونید عدد 10 رو به 100 یا 1000 یا ... تغییر بدید
باقیشم که مشخه و میتونین اینطوری عکس رو نمایش بدبد.

PictureBox.Picture=S & ".jpg"

parselearn
پنج شنبه 19 شهریور 1388, 19:59 عصر
كاري نداره

Private Sub Command1_Click()
Call rndpic
End Sub

Private Sub Form_Load()
Call rndpic
End Sub


Sub rndpic()
File1.Pattern = "*.jpg"
File1.Path = App.Path
If File1.ListCount > 0 Then
i = Rnd * File1.ListCount
Picture1.Picture = LoadPicture(App.Path + "\" + File1.List(i))
End If
End Sub

shahmahi
پنج شنبه 19 شهریور 1388, 20:46 عصر
عکسهات رو به این ترتیب نام گذاری کن

1.jpg
2.jpg
3.jpg
4.jpg
,...
بعدا میتونی توسط کد عدد تصادفی یکی از عکسها رو انتخاب کنی

Randomize Timer
dim S as integer
s=int(rnd *10)

خط اول باعث میشه اعدادی که به صورت تصادفی انتخاب میشن هر بار تغییر کنند
خط دوم هم که مشخصه
خط سوم هم یک عدد تصادفی بین 0 تا 10 انتخاب میکنه که بسته به نیاز میتونید عدد 10 رو به 100 یا 1000 یا ... تغییر بدید
باقیشم که مشخه و میتونین اینطوری عکس رو نمایش بدبد.

PictureBox.Picture=S & ".jpg"

سلام

دوست عزیز واقعا دستت درد نکنه خیلی بهم کمک کردی.
فقط کد آخر رو که نوشتی من باهاش ور رفتم شد این ، که فکر کنم درست تره :


Picture1.Picture = LoadPicture(App.Path + "\" & S & ".jpg")

shahmahi
پنج شنبه 19 شهریور 1388, 20:52 عصر
كاري نداره

Private Sub Command1_Click()
Call rndpic
End Sub

Private Sub Form_Load()
Call rndpic
End Sub


Sub rndpic()
File1.Pattern = "*.jpg"
File1.Path = App.Path
If File1.ListCount > 0 Then
i = Rnd * File1.ListCount
Picture1.Picture = LoadPicture(App.Path + "\" + File1.List(i))
End If
End Sub


سلام

بابت برنامه ازتون تشکر میکنم .فقط کاشکی از کد به جای FileListBox استفاده میکردید چون من از FileListBox نمیتونم تو برنامم استفاده کنم بازم از زحمتی که کشیدید ممنونم مشکلم حل شد.:چشمک:

.:KeihanCPU:.
پنج شنبه 19 شهریور 1388, 21:47 عصر
فقط کد آخر رو که نوشتی من باهاش ور رفتم شد این ، که فکر کنم درست تره :
کد:
Picture1.Picture = LoadPicture(App.Path + "\" & S & ".jpg")



بله البته،در کد آخر منظور فقط اشاره ای به طریقه انجام عملیات بود !

shahmahi
جمعه 20 شهریور 1388, 13:53 عصر
سلام
بچه ها دوباره به مشکل برخوردم :لبخندساده:

طبق توضیحات دوستان من تونستم 24 عکس رو که از قبل داشتم به صورت رندوم هر بار که برنامه اجرا میشه داخل Picture1 نشون بدم ، حالا میخوام وقتی که Picture1 یک عکس مثلا 1.jpg رونشون داد با زدن یک دکمه عکس 01.jpg داخل Picture2 نشون داده بشه .

و به این نکته هم توجه کنید که من24 تا عکس از 0.jpg تا 23.jpg و 24 تا عکس دیگه از 00.jpg تا 023.jpg دارم ، که باید رابطه بین این عکسهاموقع نشون دادن حفظ بشه.ممنون میشم اگه بازم منو راهنمایی کنید دوستان.

parselearn
جمعه 20 شهریور 1388, 17:23 عصر
Randomize Timer
Dim i As Integer
Dim s As String
i = Int(Rnd * 3)
Picture1.Picture = LoadPicture(App.Path + "\" & i & ".jpg")
s = "0" + CStr(i)
Picture2.Picture = LoadPicture(App.Path + "\" & s & ".jpg")