PDA

View Full Version : فاصله ی زمانی بین اجرای دستورات



علیرضا.ا
جمعه 10 آبان 1392, 15:38 عصر
سلام
چجوری میتونم بین دو تا دستور یه وقفه ی زمانی ایجاد کنم؟
از تایمر نمیخام استفاده کنم
تابع sleep هم باعث تو هنگ بودن برنامه میشه و اصلا هیچی پیدا نیست و ادامه پیدا نمیکنه!
از این تابع استفاده میکنم:

Sub Delay(ByVal dblSecs As Double)
Const OneSec As Double = 1.0# / (1440.0# * 60.0#)
Dim dbldelayTil As Date
Now.AddSeconds(OneSec)
dbldelayTil = Now.AddSeconds(OneSec).AddSeconds(dblSecs)
Do Until Now > dbldelayTil
Application.DoEvents()
Loop

End Sub

ولی به شدت CPU مصرف میکنه ( حدود 50% )
تابع مشابهی هست/؟

rahnema1
جمعه 10 آبان 1392, 22:57 عصر
چرا نمی خواهی از تایمر استفاده کنی؟

علیرضا.ا
جمعه 10 آبان 1392, 23:01 عصر
شاید بیشتر از 10 بار بخام تابع رو فراخوانی کنم

rahnema1
جمعه 10 آبان 1392, 23:09 عصر
خب این کار رو بکن چه مشکلی وجود داره؟

علیرضا.ا
جمعه 10 آبان 1392, 23:23 عصر
کد ها خیلی قاتی میشه
راه ساده میخام:D

rahnema1
جمعه 10 آبان 1392, 23:29 عصر
کد ها خیلی قاتی میشه
راه ساده میخام:D

دیگه از این ساده تر ؟
فکر نکنم از اون تابعی که نوشتین پیچیده تر باشه

Hossis
شنبه 11 آبان 1392, 09:08 صبح
من که از تابع اسلیپ استفاده می کنم و هیچوقت هم هنگ نمی کنه
باید مشکل از جای دیگه باشه!!
Threading.Thread.Sleep(1000)