رفتن به مطلب
  • 0

وقفه در اندروید


esmaeil57

سوال

سلام

میخواستم بدونم چطوری میشه مثل ویژوال بیسیک 2008 که وقفه چند میلی ثانیه ای ایجاد میکنیم ، بعد از یک دستوری چند میلی ثانیه وقفه بندازیم؟؟

آیا اصلا توی بیسیک فور اندروید امکانپذیره؟

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در هم اکنون، esmaeil57 گفته است :

سلام

میخواستم بدونم چطوری میشه مثل ویژوال بیسیک 2008 که وقفه چند میلی ثانیه ای ایجاد میکنیم ، بعد از یک دستوری چند میلی ثانیه وقفه بندازیم؟؟

آیا اصلا توی بیسیک فور اندروید امکانپذیره؟

ممنون

سلام

از تایمر استفاده کن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

شما میتونید از چند نخی یا همون ترد معروف هم استفاده کنید

میشه بگید میخواهید چه کاری انجام بدید که نیاز به وقفه دارید ؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 12 ساعت قبل، مهدی ایزدی گفته است :

درود

شما میتونید از چند نخی یا همون ترد معروف هم استفاده کنید

میشه بگید میخواهید چه کاری انجام بدید که نیاز به وقفه دارید ؟

 

سلام

ببینید، دقیقا مثل ویژوال بیسیک که از دستور Sleep()  استفاده میشه میخوام کارشو انجام بدم ضمنا از تایمر نمیشه واسه کار من . یعنی در واقع برنامه به یه قسمتی که میرسه باید چند میلی ثانیه صبر کنه. حالا این کار میشه یا نه؟؟؟

اگه اشتباه نکنم توی جاوا یه همچین دستوری داریم : 

Thread.sleep(3000)

حالا توی B4A چیکار کنیم؟؟

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نمیدونم همچین امکانی داره یا نه

اما همون sleep هم فک کنم همون تایمر خودمون باشه

میتونی یه ساب بنویسی و هروقت وقفه خواستی با دادن ثانیه بسته به موقعیتت صداش کنی

فک نکنم مشکلی باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با یه تابع میتونی وقفه بندازی

Sub Wait(MilliSecond As Int)
	Dim Time As Long
	Time=DateTime.Now+MilliSecond
	Do While DateTime.Now<Time
		DoEvents
	Loop
End Sub

حالا از این تابع هرجا خواستی استفاده کن و مقداری بر اساس میلی ثانیه بهش بده

Wait(4000)

این تابع هر چهار ثانیه میتونه وقفه تو انجام برنامه مثلا یه حلقه ایجاد کنه

از روش Step هم میتونی استفاده کنی:

For i=15 To 1 Step -5
		ToastMessageShow(i, False) '15 - 10 - 5
Next

الان شمارش حلقه بالا 15 ، 10 و 5 میشه. اگه حلقه از 0 تا 15 باشه عدد بعد از Step نباید منفی باشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 13 ساعت قبل، esmaeil57 گفته است :

سلام

ببینید، دقیقا مثل ویژوال بیسیک که از دستور Sleep()  استفاده میشه میخوام کارشو انجام بدم ضمنا از تایمر نمیشه واسه کار من . یعنی در واقع برنامه به یه قسمتی که میرسه باید چند میلی ثانیه صبر کنه. حالا این کار میشه یا نه؟؟؟

اگه اشتباه نکنم توی جاوا یه همچین دستوری داریم : 


Thread.sleep(3000)

حالا توی B4A چیکار کنیم؟؟

ممنون

عزیز من که گفتم از Thread استفاده کنید

توی VB هم همین Thread هستش که Sleep داره... توی B4A هم کتابخانه Thread داریم و Sleep هم داره

دانلود کتابخانه Thread

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

با این کدی که دوستمون داد هم میشه :

Sub Wait(MilliSecond As Int)
	Dim Time As Long
	Time=DateTime.Now+MilliSecond
	Do While DateTime.Now<Time
		DoEvents
	Loop
End Sub

ولی به نظرم بهتر اینه که از ترد استفاده کنی.

DoEvents  سیستم عاملو میفرسته پی نخود سیاه.

خیلی ساده میتونی از Thread  استفاده کنین.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1395/10/14, 09:46:29، مهدی ایزدی گفته است :

عزیز من که گفتم از Thread استفاده کنید

توی VB هم همین Thread هستش که Sleep داره... توی B4A هم کتابخانه Thread داریم و Sleep هم داره

دانلود کتابخانه Thread

تشکر از لطف شما و همچنین پاسخگویی همه دوستان. آره دقیقا من همینو میخواستم ولی نمیدونستم که ترد کتابخونه داره !!! مینوشتم ولی دیدم این که قرمزه !!!! :bigsmile:

یه متغیر از این نوع به نام Wait تعریف کردم و به شکل زیر نوشتم ولی تغییری ایجاد نشد :

Wait.Sleep(1000)

ممنون میشم راهنمایی کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...