ورود

نسخه کامل مشاهده نسخه کامل : اجرای دستور رندوم چه جوری هست؟؟؟



cao-cao
17-04-2009, 12:30
دوستان اگه بخوام بگم با فشار دادن کلید توی تکست یک ار بین 1تا 50 یه عدد رندوم بنویسه چی باید بگم؟:41:

samiblog
17-04-2009, 19:31
نمی دونم منظورتون اینه یا نه ولی:
اگه می خوای توی یک textbox عددی تصادفی با زدن یک کلید تولید بشه باید در رویداد keydown ان textbox ان کلیدی که می خوای بزنی تا عدد تصادفی تولید بشه تعریف کنی واز تابع ()rnd برای تولید عدد تصادفی استفاده کنی در همان تکست باکس.
در مثال زیر با زدن کلید enter عدد تصادفی در تکست یک تولید میشه.(هنگامی که فوکوس در تکست باکس باشد)
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text1.Text = Fix(Rnd * 50)
End If
End Sub

cao-cao
18-04-2009, 08:28
ممنون دوست من چک میکنم خبرشو میدم

cao-cao
18-04-2009, 19:32
حاجی دمت گرم یکم کمو زیادش کردم درست شد حالا نگا کن ببین من چه اشکالایی دارم بهم بگو یکیش اینه که if زیاد داره فرمان دسته جمعی بلد نیستم
2-اینکه هر بار رو دکمه کلید میکنم اگه فرمان رو به بالا باشه عمل میکنه اگه پایین باشه عمل نمیکنه
3-یه جوری زیره دیپلم به من بفهمو اگه بخوام موزیک بذارم روش چیکار باید بکنم هم تک به تک هم رو منو اصلی هم بعد از هر عمل
4-من اگه بخوام یه دستور بدم که فرم ریست بشه چیکار باید بکنم؟
5-میدونم اخر پرو بازی بود ولی حاجی جونه جفتمون من نه رشتم ریاضیه نه کامپیوتر خوندم من رشتم تو دبیرستان ادبیات بوده حالا میخوام به فرهنگ مملکتم خدمت کنم با نوشتن یه برنامه
کسی هم ندارم ازشون بپرسم جز رفیقای فروم
بازم ممنون
Private Sub Command1_Click()
Text1.Text = Fix(Rnd * 17)
Text3.Visible = True
Command2.Visible = True
If Text1.Text = 1 Then
Image1.Visible = True
End If
If Text1.Text = 2 Then
Image2.Visible = True
End If
If Text1.Text = 3 Then
Image3.Visible = True
End If
If Text1.Text = 4 Then
Image4.Visible = True
End If
If Text1.Text = 5 Then
Image5.Visible = True
End If
If Text1.Text = 6 Then
Image6.Visible = True
End If
If Text1.Text = 7 Then
Image7.Visible = True
End If
If Text1.Text = 8 Then
Image8.Visible = True
End If
If Text1.Text = 9 Then
Image9.Visible = True
End If
If Text1.Text = 10 Then
Image10.Visible = True
End If
If Text1.Text = 11 Then
Image11.Visible = True
End If
If Text1.Text = 12 Then
Image12.Visible = True
End If
If Text1.Text = 13 Then
Image13.Visible = True
End If
If Text1.Text = 14 Then
Image14.Visible = True
End If
If Text1.Text = 15 Then
Image15.Visible = True
End If
If Text1.Text = 16 Then
Image16.Visible = True
End If
If Text1.Text = 17 Then
Image17.Visible = True
End If
If Text1.Text = 18 Then
Image18.Visible = True
End If
End Sub


Private Sub Command2_Click()
Unload Me
End Sub

samiblog
19-04-2009, 21:06
این فایل zip رو دانلود کن می تونه کمکت کنه
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
در سوال 2 : اگه تمامی کنترل ها ظاهر بشن دیگه دستور جواب نمی ده . چون ار راندم استفاده شده ممکنه که این تابع یک عدد رو چند بار برگردونه که در این حالت فقط بار اول کنترل ظاهر میشه ولی در دفعات دیگر چون کنترل ظاهر است کاری صورت نمی گیره.
سوال 3: منظورتو نمی فهمم اگه کمی واضح تر بگی بهتره.
سوال 4 : ایا می خوای کنترل های روی فرم به حالت اول برگردند خوب یکی از دوستان یه روشی گفته بود در یکی تاپینگ ها که اون روش هم خوبه اما می تونی از روش ارایه های کنترلی هم استفاده کنی که ساده تره در مثال هم هستش.
من برنامتو کمی بهتر کردم تا از کد های اضافی خوداری بشه که به جای این 30.20 خط از 5 خط کد استفاده بشه.

cao-cao
19-04-2009, 22:04
دوست من ممنون از راهنماییات من این رو تا الان پیش بردم ولی لازم به ذکر هست که هنوز پست شما رو نخونده بودم
Private Sub Command1_Click()
Text1.Text = Fix(Rnd * 101)
Image1.Visible = True
Text3.Visible = True
Label1.Visible = True
Command2.Visible = True
If Text1.Text = 1 Then
Image2.Visible = True
End If
If Text1.Text = 2 Then
Image3.Visible = True
End If
If Text1.Text = 3 Then
Image4.Visible = True
End If
If Text1.Text = 4 Then
Image5.Visible = True
End If
If Text1.Text = 5 Then
Image6.Visible = True
End If
If Text1.Text = 6 Then
Image7.Visible = True
End If
If Text1.Text = 7 Then
Image8.Visible = True
End If
If Text1.Text = 8 Then
Image9.Visible = True
End If
If Text1.Text = 9 Then
Image10.Visible = True
End If
If Text1.Text = 10 Then
Image11.Visible = True
End If
If Text1.Text = 11 Then
Image12.Visible = True
End If
If Text1.Text = 12 Then
Image13.Visible = True
End If
If Text1.Text = 13 Then
Image14.Visible = True
End If
If Text1.Text = 14 Then
Image15.Visible = True
End If
If Text1.Text = 15 Then
Image16.Visible = True
End If
If Text1.Text = 16 Then
Image17.Visible = True
End If
If Text1.Text = 17 Then
Image18.Visible = True
End If
If Text1.Text = 18 Then
Image19.Visible = True
End If
If Text1.Text = 19 Then
Image19.Visible = True
End If
If Text1.Text = 20 Then
Image20.Visible = True
End If
If Text1.Text = 21 Then
Image21.Visible = True
End If
If Text1.Text = 22 Then
Image22.Visible = True
End If
If Text1.Text = 23 Then
Image23.Visible = True
End If
If Text1.Text = 24 Then
Image24.Visible = True
End If
If Text1.Text = 25 Then
Image25.Visible = True
End If
If Text1.Text = 26 Then
Image26.Visible = True
End If
If Text1.Text = 27 Then
Image27.Visible = True
End If
If Text1.Text = 28 Then
Image28.Visible = True
End If
If Text1.Text = 29 Then
Image29.Visible = True
End If
If Text1.Text = 30 Then
Image30.Visible = True
End If
If Text1.Text = 31 Then
Image31.Visible = True
End If
If Text1.Text = 32 Then
Image32.Visible = True
End If
If Text1.Text = 33 Then
Image33.Visible = True
End If
If Text1.Text = 34 Then
Image34.Visible = True
End If
If Text1.Text = 35 Then
Image35.Visible = True
End If
If Text1.Text = 36 Then
Image36.Visible = True
End If
If Text1.Text = 37 Then
Image37.Visible = True
End If
If Text1.Text = 38 Then
Image38.Visible = True
End If
If Text1.Text = 39 Then
Image39.Visible = True
End If
If Text1.Text = 40 Then
Image40.Visible = True
End If
If Text1.Text = 41 Then
Image41.Visible = True
End If
If Text1.Text = 42 Then
Image42.Visible = True
End If
If Text1.Text = 43 Then
Image43.Visible = True
End If
If Text1.Text = 44 Then
Image44.Visible = True
End If
If Text1.Text = 45 Then
Image45.Visible = True
End If
If Text1.Text = 46 Then
Image46.Visible = True
End If
If Text1.Text = 47 Then
Image47.Visible = True
End If
If Text1.Text = 48 Then
Image48.Visible = True
End If
If Text1.Text = 49 Then
Image49.Visible = True
End If
If Text1.Text = 50 Then
Image50.Visible = True
End If
If Text1.Text = 51 Then
Image51.Visible = True
End If
If Text1.Text = 52 Then
Image52.Visible = True
End If
If Text1.Text = 53 Then
Image53.Visible = True
End If
If Text1.Text = 54 Then
Image54.Visible = True
End If
If Text1.Text = 55 Then
Image55.Visible = True
End If
If Text1.Text = 56 Then
Image56.Visible = True
End If
If Text1.Text = 57 Then
Image57.Visible = True
End If
If Text1.Text = 58 Then
Image58.Visible = True
End If
If Text1.Text = 59 Then
Image59.Visible = True
End If
If Text1.Text = 60 Then
Image60.Visible = True
End If
If Text1.Text = 61 Then
Image61.Visible = True
End If
If Text1.Text = 62 Then
Image62.Visible = True
End If
If Text1.Text = 63 Then
Image63.Visible = True
End If
If Text1.Text = 64 Then
Image64.Visible = True
End If
If Text1.Text = 65 Then
Image65.Visible = True
End If
If Text1.Text = 66 Then
Image66.Visible = True
End If
If Text1.Text = 67 Then
Image67.Visible = True
End If
If Text1.Text = 68 Then
Image68.Visible = True
End If
If Text1.Text = 69 Then
Image69.Visible = True
End If
If Text1.Text = 70 Then
Image70.Visible = True
End If
If Text1.Text = 71 Then
Image71.Visible = True
End If
If Text1.Text = 72 Then
Image72.Visible = True
End If
If Text1.Text = 73 Then
Image73.Visible = True
End If
If Text1.Text = 74 Then
Image74.Visible = True
End If
If Text1.Text = 75 Then
Image75.Visible = True
End If
If Text1.Text = 76 Then
Image76.Visible = True
End If
If Text1.Text = 77 Then
Image77.Visible = True
End If
If Text1.Text = 78 Then
Image78.Visible = True
End If
If Text1.Text = 79 Then
Image79.Visible = True
End If
If Text1.Text = 80 Then
Image80.Visible = True
End If
If Text1.Text = 82 Then
Image82.Visible = True
End If
If Text1.Text = 83 Then
Image83.Visible = True
End If
If Text1.Text = 84 Then
Image84.Visible = True
End If
If Text1.Text = 85 Then
Image85.Visible = True
End If
If Text1.Text = 86 Then
Image86.Visible = True
End If
If Text1.Text = 87 Then
Image87.Visible = True
End If
If Text1.Text = 88 Then
Image88.Visible = True
End If
If Text1.Text = 89 Then
Image89.Visible = True
End If
If Text1.Text = 90 Then
Image90.Visible = True
End If
If Text1.Text = 91 Then
Image91.Visible = True
End If
If Text1.Text = 92 Then
Image92.Visible = True
End If
If Text1.Text = 93 Then
Image93.Visible = True
End If
If Text1.Text = 94 Then
Image94.Visible = True
End If
If Text1.Text = 95 Then
Image95.Visible = True
End If
If Text1.Text = 96 Then
Image96.Visible = True
End If
If Text1.Text = 97 Then
Image97.Visible = True
End If
If Text1.Text = 98 Then
Image98.Visible = True
End If
If Text1.Text = 99 Then
Image99.Visible = True
End If
If Text1.Text = 81 Then
Image81.Visible = True
End If
If Text1.Text = 100 Then
Image100.Visible = True
End If
End Sub


Private Sub Command2_Click()
Unload Me
End Sub

cao-cao
19-04-2009, 22:13
من منظورتون رو متوجه نشدم
میشه خود دستور پاک کردن رو برام بنویسی رو یک کلید(3 )که وقتی این دستور اجرا بشه
تکست باکس پاک بشه و کلید 1 که الان کلید اصلی من هست اوتوماتیک بعد از کلید 3 فشار داده بشه؟
توضیح اینکه کلید 2 برای من کلید خروج است
ممنون دوست من
و سوال بعدی اینکه الان هنگام شروع برنامه یه اهنگ شروع به پخش میشه ایا میتونم کاری کنم که این اهنگ رندوم پخش بشه البته این مشکل هست که ادرسو از تو هارد میگیره مثل ایمجا نیست که از تو خود برنامه بگیره یهنی من برنامه رو میبرم جای دیگه صدا نداره میتونی کمکم کنی؟ بد جوری ضد حال خوردم رو یه سیستم دیگه وقتی امتحان کردم
3 حجم برنامه اصلا برام مهم نیسه تا 700 مگ جا دارم :)
بازم خیلی ممنون کلی کمکم کردی

cao-cao
19-04-2009, 22:16
و لازم به ذکره که بگم این اعداد همه تو یه یکست باکس هستن
ولی اینی که شما نوشتی 20 تا هست :)
تونستم منظورم رو درست برسو نم؟
ولی این همیشه یک عدد رو به ترتیب اجرا میکنه یعنی همیشه اول 71 . 53 ..... چیکار باید بکنم؟

cao-cao
20-04-2009, 08:28
من الانامتحان میکردم نمیدونم کجای کار اشتباه کردم که همیشه تو کلیک اول یه عکس نمایش داده میشه؟؟؟؟

samiblog
20-04-2009, 18:22
دوست عزیز من در این مثال به جای image از command button استفاده کردم تا شما با استفاده از این مثال به جای command ها از image استفاده کنید . همچنین شما بایدنام image ها رو یکی کنید تا این روش جواب بده.
-اگه می خوای تکست باکس پاک بشه و اگه می خوای با کلیک روی یک1 command همزمان command2 هم کلیک بشه مثل اینکه هر دو را باهم زدی از کد زیر استفاده کن این کد در یک command قرار می گیره
""=text1.text ' این کد پاک کردن تکست باکس
call comman1_click ' این کد برای کلیک هم زمان یا به صورت اتوماتیک
--------------------------------------------------------------------------------------------------------------------
در مثال من درسته 20 تا تکست باکس هستش ولی به جای این ها تو از image که تعدادش زیاده استفاده کن ( این یه مثال هستش
--------------------------------------------------------------------------------------------------------------------
شما گفتین که تو کلیک اول یه عکس نمایش داده می شه ایا می خوای چند تا image با هم ظاهر بشن که در این صورت باید هر چند تا که می خوای visible کنی نه اگه منظورت اینه که وقتی کلیک می کنی و یه عدد تصادفی توی تکست تولید می شه باید image ان عدد ظاهر بشه شاید در اولین کلیک درست کار کنه ولی در کلیک های بعدی چون تعداد دستورات if شما زیاد هستش ممکنه جواب نده برای همین من پیشنهاد کردم که از ارایه های کنترلی استفاده کنی تا میزان دستورات کم بشه و این طور برنامه نویسی تو از نظر مهندسی نرم افزار درست نیست.
--------------------------------------------------------------------------------------------------------------------
اما در مورد پخش اهنگ اگه شما می تونید اهنگ رو از روی کامپیوتر خودتون پخش کنید ولی هنگام انتقال به روی کامپیوتر دیکری اهنگ پخش نمی شه اولا شما باید اهنگ ها رو همراه برنامه انتقال بدین روی کامپیوتر دیگری که پخش بشه برای این کار من را حل زیر رو پیشنهاد می کنم 1- اول شما باید اهنگ هاتون رو در داخل پوشه برنامه دریک پوشه مجزا مثلا به نام wave قرار بدین
2- حالا شما هنگام انتقال برنامه رو کامپیوتر دیگه برای اینکه برنامتون اهنگ رو پخش کنه شما باید مسیر اهنگ ها رو بدست بیارین (اهنگ ها باید در پوشه برنامه باشن درایو فرق نمی کنه رو کدام درایو باشه چون برنامه خودش درایو رو به دست می اره)
برای به دست اوردن مسیر زمانی که در پوشه برنامه هستش از کد زیر :
app.Path & "\wave\a.mp3" این کد اهنگ a.mp3 رو برات پخش می کنه اگه در داخل پوشه برنامه و پوشه wave باشه.
حالا اگه تعداد اهنگ ها زیاد با و شما بخوای به صورت راندم پخش بشن باید از حالت تر کیبی استفاده کنی یعنی در کد بالا نام اهنگ باید به صورت راندم انتخاب بشه و در یک متغیر قرار بگیره و در کد به جای a.mp3 مقدار متقیر قرار بگیره وباید از این علامت & برای الحلق استفاده کنی امید وارم که بلد باشی این دیگه ساده ترین راه بود واسه توضیخ اگه مشکلی بود و نفهمیدی بازم در خدمتم.
----------------------------------------------------------------------------------------------------------------------------------------------
موفق باشی

cao-cao
20-04-2009, 20:30
دوست من خیلی ممنون از وضیحاتت
درسته چون من if زیاد داشتم عدد رندوم همسشه یکی هست
ببین کل پروژه این توری هست که وقتی من روی کامند کلیک میکنم یه عکس اینویز نشون داده میشه
ولی حالا وقتی کلیک میکنم اعداد دقیقا مثل هم تکرار میشه
و اصلا خوب نیست میتونی کمکم کنی و فرمان درست رو بنویسی که من همون رو کپی کنم تو برنامه دقیقا فرمان شما رو کپی میکنم
----------------------------------------------------------------------------------
من اهنگ رو روی کول دیسک ریختم تو سیستم خودم ادرسو قبول میکرد ولی تو یه سیستم دیگه پخش نمیکرد ؟؟؟؟؟؟؟؟؟ نمیدونم کجا اشتباه کردم
-----------------------------------------------------------------------------------
اگه میتونی دستور رو بنویس تا من بفهمم چون من از اصطلاحات سر در نمیارم
-------------------------------------------------------------------------
خیلی ممنونم که کمکم میکنی امیدوارم بتونم جبران کنم
شاد باشی

samiblog
21-04-2009, 10:35
دوست عزیز کار برنامتو کاملا توضیح بده و بگو می خوای چیکار کنی تا من بهتر کمکت کنم برنامتو برام کاملا توضیح بده من تا فردا برات اماده کنم . یا اینکه برنامتو بزار تا من دانلود کنم و ببینم چشه همین.
----------------------------------------------------------------------------------------------------
موفق باشی

cao-cao
21-04-2009, 22:09
سورسو که کامل برات نوشتم؟
این مگه نیست؟