Jump to content
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


Sign in to follow this  
محمدرضا شاهپیری

دریافت کتابخانه بسیار کاربردی PersianTimer

Recommended Posts

محمدرضا شاهپیری    3,966

مدیر کل سایت

کتابخانه بسیار کاربردی PersianTimer


با سلام خدمت دوستان عزیز امیدوارم که حالتون خوب باشه و کدهاتون بی ارور:gamer2:

با یک کتابخونه بسیار کاربردی و واجب در خدمتتون هستم.

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

تو این کتابخونه به جای خود تایمر اندروید و یا handler اومدیم و از scheduledexecutorservice که از خانواده قدرتمند ThreadPoolExecutor هست استفاده کردیم. یکی از مزیت های بسیار خوب این کتابخونه این هست که به راحتی میتونید بینهایت کار رو به صورت همزمان توی نخهای متفاوت بدون هیچ گونه تداخلی انجام بدین.این کار به وسیله Future ها انجام میشه و توی کتابخونه به وسیله tag تایمرها از هم متمایز میشن.

امیدوارم که از کتابخونه واقعا کاربردی بهترین استفاده رو بکنید.         لینک آموزش و سورس کتابخونه

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

Dim prt As PersianTimer
prt.Initialize("prt")

توی این کتابخونه سه تا متد اصلی هست.

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

prt.schedule("schedule",prt.TimeUnit_SECONDS,10)

Private Sub prt_onTick(Tag As String,TimeUntil As Int)
 بعد از 10 ثانیه این متد اجرا میشه
End Select

متد دوم scheduleAtFixedRate هست. این متد تایمر رو با یک وقفه مشخص برای یک دوره زمانی متناوب ست میکنه. مثال.

prt.scheduleAtFixedRate("scheduleAtFixedRate",prt.TimeUnit_SECONDS,3,1) ' یعنی اینکه بعد از 3 ثانیه هر یک ثانیه تیک بخور تا زمانی که اونو کنسل نکنید به همین 
صورت هر یک ثانیه یک بار متد زیر اجرا میشه


Private Sub prt_onTick(Tag As String,TimeUntil As Int)
  این متد هر یک ثانیه اجرا میشه
End Select

 

متد سوم متد scheduleCountDown هست. این متد یک تایمر معکوس با تایم مشخص و دوره تیک مشخص ایجاد میکنه. مثال

prt.scheduleCountDown("scheduleCountDown1",prt.TimeUnit_SECONDS,30,1)  ' یعنی اینکه از 30 شروع کن و تا صفر یک ثانیه یک ثانیه بیا 



Private Sub prt_onTick(Tag As String,TimeUntil As Int)
 Log("Tick : "&Tag&"  TimeUntil : "&TimeUntil)     '   TimeUntil مقدار زمان باقیمانده تا صفر هست به ثانیه
End Select
End Sub

بعد از 30 ثانیه تایمر تموم میشه و متد زیر اجرا میشه

Private Sub prt_onFinish(Tag As String)
 Log("Finish : "&Tag)
End Sub

 


 

  • پسندیدن 4
  • تشکر 2

Share this post


Link to post
Share on other sites
basic 4 android    123

کاربر رو به رشد

در 3 ساعت قبل، محمدرضا شاهپیری گفته است :

کتابخانه بسیار کاربردی PersianTimer


با سلام خدمت دوستان عزیز امیدوارم که حالتون خوب باشه و کدهاتون بی ارور:gamer2:

با یک کتابخونه بسیار کاربردی و واجب در خدمتتون هستم.

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

تو این کتابخونه به جای خود تایمر اندروید و یا handler اومدیم و از scheduledexecutorservice که از خانواده قدرتمند ThreadPoolExecutor هست استفاده کردیم. یکی از مزیت های بسیار خوب این کتابخونه این هست که به راحتی میتونید بینهایت کار رو به صورت همزمان توی نخهای متفاوت بدون هیچ گونه تداخلی انجام بدین.این کار به وسیله Future ها انجام میشه و توی کتابخونه به وسیله tag تایمرها از هم متمایز میشن.

امیدوارم که از کتابخونه واقعا کاربردی بهترین استفاده رو بکنید.         لینک آموزش و سورس کتابخونه

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


Dim prt As PersianTimer
prt.Initialize("prt")

توی این کتابخونه سه تا متد اصلی هست.

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


prt.schedule("schedule",prt.TimeUnit_SECONDS,10)

Private Sub prt_onTick(Tag As String,TimeUntil As Int)
 بعد از 10 ثانیه این متد اجرا میشه
End Select

متد دوم scheduleAtFixedRate هست. این متد تایمر رو با یک وقفه مشخص برای یک دوره زمانی متناوب ست میکنه. مثال.


prt.scheduleAtFixedRate("scheduleAtFixedRate",prt.TimeUnit_SECONDS,3,1) ' یعنی اینکه بعد از 3 ثانیه هر یک ثانیه تیک بخور تا زمانی که اونو کنسل نکنید به همین 
صورت هر یک ثانیه یک بار متد زیر اجرا میشه


Private Sub prt_onTick(Tag As String,TimeUntil As Int)
  این متد هر یک ثانیه اجرا میشه
End Select

 

متد سوم متد scheduleCountDown هست. این متد یک تایمر معکوس با تایم مشخص و دوره تیک مشخص ایجاد میکنه. مثال


prt.scheduleCountDown("scheduleCountDown1",prt.TimeUnit_SECONDS,30,1)  ' یعنی اینکه از 30 شروع کن و تا صفر یک ثانیه یک ثانیه بیا 



Private Sub prt_onTick(Tag As String,TimeUntil As Int)
 Log("Tick : "&Tag&"  TimeUntil : "&TimeUntil)     '   TimeUntil مقدار زمان باقیمانده تا صفر هست به ثانیه
End Select
End Sub

بعد از 30 ثانیه تایمر تموم میشه و متد زیر اجرا میشه

Private Sub prt_onFinish(Tag As String)
 Log("Finish : "&Tag)
End Sub

 


 

خیلی عالیه دست مریضا

  • پسندیدن 1

Share this post


Link to post
Share on other sites
basic 4 android    123

کاربر رو به رشد

ببخشید این  متد کنسل داره

cancelTask

متد استارت از همون ثانیه کنسل شده هم داره ؟

 

ممنون

  • پسندیدن 1

Share this post


Link to post
Share on other sites
محمدرضا شاهپیری    3,966

مدیر کل سایت

در 15 دقیقه قبل، basic 4 android گفته است :

ببخشید این  متد کنسل داره

cancelTask

متد استارت از همون ثانیه کنسل شده هم داره ؟

 

ممنون

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

  • ناراحت 1

Share this post


Link to post
Share on other sites
mohammad3250    191

کاربر رو به رشد

سلام من میخوام مثلا با دقیقه از تایممر استفاده کنم ولی قاطی میکنه راهنمایی میکنی استاد ؟

Share this post


Link to post
Share on other sites
محمدرضا شاهپیری    3,966

مدیر کل سایت

در 10 ساعت قبل، mohammad3250 گفته است :

سلام من میخوام مثلا با دقیقه از تایممر استفاده کنم ولی قاطی میکنه راهنمایی میکنی استاد ؟

دقیقا چیکار میخواین بکنین شما؟

  • پسندیدن 1

Share this post


Link to post
Share on other sites
mohammad3250    191

کاربر رو به رشد

در 10 ساعت قبل، محمدرضا شاهپیری گفته است :

دقیقا چیکار میخواین بکنین شما؟

الان وقتی زمان به ثانیه میدم درست هستش ولی وقتی به دقیقه میدم قاطی میکنه مثلا 7 دقیقه میدی میشه -51 اینجوری

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...