View Full Version : سوال: تابع رندوم
zohre_heidary
یک شنبه 20 بهمن 1387, 20:14 عصر
سلام می خواستم بدونم وقتی می خوام فایل exeبسازم ودر برنامه از عکس استفاده کردم چطور آدرس دهی کنم؟
در ضمن برای لود عکس از تابع رندوم چه طوری می تونم استفاده کنم؟
ممنون
xxxxx_xxxxx
یک شنبه 20 بهمن 1387, 20:34 عصر
عكسها را با Loadpicture فراخواني كنيد. به اين صورت:
Image1.Picture = LoadPicture("C:\pic.jpg")
مي خوايد عكس ها به طور رندوم نمايش داده بشند؟
بايد يك مجموعه از نام ها به همراه آدرس عكس ها داشته باشيد. حالا ها يا در بانك يا تو لود برنامه تو يك آرايه بعد با همين LoadPicture به صورت رندوم نمايشه بديد. مثلاً اگر نام عكس ها از pic1 تا pic10 هست و همه در درايو C هستند به اين صورت ميشه:
n = Int(Rnd * 10) + 1
Image1.Picture = LoadPicture("C:\pic" & Trim(Str(n)) & ".jpg")
r0ot$harp
یک شنبه 20 بهمن 1387, 21:51 عصر
اینم تابع من هست که در VB6 استفاده می کنم .
Public Function Random(max As Integer) As Integer
On Error Resume Next
Randomize DateTime.Second(Time) * DateTime.Minute(Time)
Random = Round(Rnd * max) + 1
While Random > max
Random = Round(Rnd * 3) + 1
Wend
End Function
باتشکر احسان
xxxxx_xxxxx
یک شنبه 20 بهمن 1387, 22:29 عصر
اینم تابع من هست که در VB6 استفاده می کنم .
Public Function Random(max As Integer) As Integer
On Error Resume Next
Randomize DateTime.Second(Time) * DateTime.Minute(Time)
Random = Round(Rnd * max) + 1
While Random > max
Random = Round(Rnd * 3) + 1
Wend
End Function
باتشکر احسان
سلام
1- ميشه بگيد چرا به تابع Randomize مقدار داديد؟ و چرا ضرب دقيقه در ثانيه؟:متفکر::متفکر:
2- و اين كه بجاي گرد كردن عدد كه ممكن هست قسمت صحيح رو يك واحد افزايش بده مي تونستيد از Int استفاده كنيد كه فقط قسمت صحيح رو نمايش ميده. و شما براي پوشش دادن اين خطاي احتمالي از حلقه استفاده كرديد و به طور مكرر گردش مي كنيد تا بالاخره به احتمال 50% حدپايينش دربياد:متفکر:
3- و به خاطر حركتي كه در حلقه زديد هميشه به احتمال [ماكس سومِ بعلاوه يك] درصد يعني ( max/(3+1 % عدد بدست آمده 1 يا 2 يا 3 يا 4 است. پس نمي تونه دقيق باشه
4- اين تابع چه مزيتي نسبت به تابع rnd خود VB داره؟
ممنون.
zohre_heidary
سه شنبه 22 بهمن 1387, 15:04 عصر
از پاسختون ممنون اما اگه اینجوری آدرس دهی کنم وقتی در کامپیوتر دیگه ای برنامه رو نصب کنم عکس ها نمایش داده نمی شوند لطفا با app توضیح بدید
zohre_heidary
سه شنبه 22 بهمن 1387, 15:07 عصر
برای آدرس دهی عکس ها لطفا استفاده از app.path رو توضیح بدین
xxxxx_xxxxx
سه شنبه 22 بهمن 1387, 15:12 عصر
اون يه مثال بود.
فرض كنيد عكس ها تو يك فولدر به نام Pictures در مسير نصب برنامه قرار داره. كد رو به اين صورت تغيير بديد:
n = Int(Rnd * 10) + 1
Image1.Picture = LoadPicture(App.Path & "\Pictures\pic" & Trim(Str(n)) & ".jpg")
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.