PDA

View Full Version : سوال: مشکل در تایمر



REZADG
سه شنبه 05 آذر 1387, 10:06 صبح
سلام
ببخشید من میخام برنامه ای بنویسم که از کاربر تعداد بگیره بعد زمان رو بگیره و به تعداد که کاربر وارد کرده اون عمل از پیش تعریف شوده رو انجام بده اما بین هار عمل به تعداد زمانی که کاربر وارد کرده صبر کنه من نتونستم بین عمل ها فاصله بیندازم اگه کسی مفهومم رو درک کرد به نم کمک کنه
بازم ممنون

mpmsoft
سه شنبه 05 آذر 1387, 11:44 صبح
دوست عزیز شما می تونی از Sleep استفاده کنی



Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
MsgBox "begin"
Sleep 10000
MsgBox "end"
End Sub

VB.SOS
سه شنبه 05 آذر 1387, 12:09 عصر
روشي كه mpmsoft عزيز گفتن كامپوتر رو متوقف ميكنه. خود من از يه حلقه Do استفاده مي كنم:

sTimer = Timer
Do While Timer - sTimer < 1
DoEvents
Loop

اين حلقه يك ثانيه برنامه رو ميپيچونه!

REZADG
سه شنبه 05 آذر 1387, 18:20 عصر
یعنی چی که میپیچونه

mpmsoft
سه شنبه 05 آذر 1387, 19:12 عصر
دوست عزیز اگر از Sleep استفاده کنی تا زمانی مدت زمان وقفه به پایان نرسیده برنامه به حالت هنگ در میاد

REZADG
چهارشنبه 06 آذر 1387, 09:52 صبح
نه نمیخوام که هنگ بشه اصلا کمی صبر کنید من یجوری دیگه میگم

اوبالیت به بو
چهارشنبه 06 آذر 1387, 12:30 عصر
بايد از thread استفاده كنيد.

VB.SOS
چهارشنبه 06 آذر 1387, 14:02 عصر
منظورم ايه نه بين اجراي دستورات برنامه فاصله ميندازه انگار برنامه داره كاري كه ازش خواستن رو با زحمت انجام ميده. استفاده از اين روش قبلا جواب داده

REZADG
چهارشنبه 06 آذر 1387, 19:11 عصر
ببینید من یک برنامه برای تغییر ip مینویسم اما میخوام کاربر وارد کند که چقدر باید تغییر پیدا کند یعنی به چه تعداد بعد زمان را وارد کند بعد دکمه ی اعمال رابزند وقتی که دکمه زده شود اولین عمل را انجام دهد بعد صبر کند تا مقدار زمان تی شود بعد یک بار دیگر ان عمل را تکرار کند تا مقدار به صفر برسد