جناب توکلی. من این کد رو با این که مطمئن بودم که کار میکنه، مجددا تست کردم. بدون مشکل اجرا شد.
لطفا همینجا تو فروم مشکلتون رو بنویسید، این طوری راحت تر میشه مشکلتون رو حل کرد.
Printable View
جناب توکلی. من این کد رو با این که مطمئن بودم که کار میکنه، مجددا تست کردم. بدون مشکل اجرا شد.
لطفا همینجا تو فروم مشکلتون رو بنویسید، این طوری راحت تر میشه مشکلتون رو حل کرد.
سلام دوستان
گفتم یک تاپیک دیگه نزم و مشکلم رو همینجا بگم
می خواستم بگم که تابع رندوم یک تابع چرته [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اعصابم رو ریخته به هم
این اصلا شانسی نیست
فقط به ترتیب اعدادی رو که از قبل براش تعریف شده رو خروجی میده
باور نمی کنید؟؟؟؟؟؟؟؟؟؟؟؟؟؟
توی یک دکمه توی وی بی تایپ کنید:
حالا برنامه رو اجرا کنیدنقل قول:
Private Sub Command1_Click()
Text1.Text = Rnd()
End Sub
با هر کلیک به ترتیب این اعداد میاد:
0.7055475
0.533424
0.5795186
0.2895625
0.301948
0.7747401
1.401764E-02
و .....
اینا همیشه همیناست
یعنی اگر دوباره برنامه رو اجرا کنید دوباره اینا از اول شروع میشه [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این نامردی نیست؟ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من یک تابع رندوم واقعی می خوام [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
جون من هر کی بلده جواب بده
هیچکی نیست بدونه باید چکار کنم؟
دوست عزیز، اگه کمی به کدی که من تو صفحه قبل نوشتم دقت میکردید، متوجه میشدید که این مشکل رو حل کردم.
کافیه این کد رو قبل از تابع Rnd به کار ببرید (یا یه چیزی شبیه به همین)
این یک حلقست که باعث میشه تابع Rnd به تعداد n بار تکرار بشه. و این مشکل حل بشه.کد:For i = 1 To Minute(Now) + Second(Now) * Hour(Now)
a = Rnd()
Next i
من Vb کار نیستم کارم کیجنینگه و کیجن نویسی رو تو Vb خیلی خوب بلدم. بهتره که Randomize Timer را قبل از اوون کدت بکار ببری! :11:نقل قول:
چطوی میشه بین دو عدد مثلا 97 و 122 راندوم زد. من که هر کاری می کنم غیر از اینها هم راندوم می خوره :41:
من به این سوال هم تو صفحه اول پاسخ دادم (اگه دقت میکردید)
122 رو از 97 کم میکنید. میشه 25
حالا یه عدد رندم میکنید که 0 تا 25 باشه.
بعد عدد به دست اومده رو به اضافه ی 97 میکنید.
همین.
مرسی [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]نقل قول:
دوست عزیز، اگه کمی به کدی که من تو صفحه قبل نوشتم دقت میکردید، متوجه میشدید که این مشکل رو حل کردم.
کافیه این کد رو قبل از تابع Rnd به کار ببرید (یا یه چیزی شبیه به همین)
ولی این یک جور کلکه
یعنی وی بی با اینهمه عظمتش یک کد رندوم واقعی نداه [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
البته وی بی عظمتی هم نداره [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
یک سوال؟
اصلا کلا تو زبان های دیگه برنامه نویسی کدی هست برای رندوم؟
یک سوال دیگه؟
شما برای گرفتن ثانیه یک زمان از کد زیر استفاده می کنید:
Second (Now)
اگر بخوام صدم ثانیه یک زمان رو بگیرم باید چکار کنم؟ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در مورد سوال اول: بله در همه. تا اون جا كه من ديدم دستور random در همه جواب ميده ولي در هر زبان به صورت مخفف ي نيز بيان مي شود.
در مورد سوال دوم به تاپيك مسائل پيشرفته در تالار VB مراجعه كن
نقل قول:
چرا یک کد غیر منطقی رو استفاده میکنید - از شما بعیده
1-اگر من این کد رو در همین لحظه اجرا کنم و فردا هم دقیقا همین لحظه اجرا کنم نتیجه یکسان میشود.
2-کلی از سی پی یو کار میکشی که چی بشه (بیچاره سی پی یو)
عوض این همه دردسر میتونید از تابع Randomize استفاده کنید.
البته اون کدی که تو صفحه قبل نوشتین هم بازهم پیچیده است - میشد خیلی ساده تر نوشت.