PDA

View Full Version : سوال: تایمر با اینتروال 5 دقیقه ؟



elimiz
یک شنبه 01 بهمن 1391, 14:59 عصر
سلام
چطوری میشه یه تایمر با اینتروال 5 دقیقه روی برنامم بزارم.
ممنون میشم یه نمونه سورس بزارین
با تشکر

MohammadGh2011
یک شنبه 01 بهمن 1391, 15:10 عصر
سلام عليکم
به دليل اينکه تايمر VB6 محدود هست شما بايد از دستور زير محدوديت اون رو بشکنين:

در دستور زير وقتي که tmr برابر ليبل 1 شد دستورات If اجرا خواهد شد و M.Gh روي فرم نوشته ميشود.

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Label1.Caption - 1
Dim tmr%
Timer1.Interval = 1000
tmr% = tmr% + 1
If tmr% >= Label1.Caption Then
tmr% = 0
Print "M.Gh"
End If
End Sub


موفق باشيد

elimiz
یک شنبه 01 بهمن 1391, 15:35 عصر
این کدهارو درون تایمر قرار بدم ؟
و اینتروالش رو چند بزارم ؟

MohammadGh2011
یک شنبه 01 بهمن 1391, 15:51 عصر
يک عدد تايمر بزاريد روي فرم اينروالش رو بزاريد روي 1000 بعد مشخصه ي Enabled تايمر رو برابر با False کنيد.سپس يک Label هم روي فرم بزاريد ، Caption اون رو برابر با 300 کنيد سپس يک کامند هم بزاريد و دستورات پست 2 رو کپي پيست کنيد.

پست 2 ويرايش شد

mehran901
یک شنبه 01 بهمن 1391, 16:25 عصر
دوست عزیز شما می تونید بجای استفاده از لیبل واسه ذخیره سازی عدد از متغییر های استاتیک استفاده کنین خب! همون کد دوست عزیزمون رو با متغییر استاتیک در زیر داریم :
با اجازه Mr.Mohammad gh2011

Private Sub Command1_Click()

Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
static a%
a% = iif(a = 0,300,a)

a% = a% - 1
Dim tmr%
Timer1.Interval = 1000
tmr% = tmr% + 1
If tmr% >=a Then
tmr% = 0
Print "M.Gh"
End If
End Sub

MohammadGh2011
یک شنبه 01 بهمن 1391, 18:02 عصر
دوست عزیز شما می تونید بجای استفاده از لیبل واسه ذخیره سازی عدد از متغییر های استاتیک استفاده کنین خب! همون کد دوست عزیزمون رو با متغییر استاتیک در زیر داریم :
با اجازه Mr.Mohammad gh2011
سلام عليکم
خواهش ميکنم دوست عزيز
به خاطر نمايش کار ؛ من از ليبل استفاده کردم،شما ميتونيد راه هاي ديگه اي رو هم انتخاب کنيد...


موفق باشيد

Mr'Jamshidy
یک شنبه 01 بهمن 1391, 18:05 عصر
میتونید ها از تگ خود تایمر استفاده کنید برای جلوگیری از تعریف متغیر اضافی


Private Sub Form_Load()
Timer1.Tag = CStr(300) '5 Minutes
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If CLng(Timer1.Tag) = 0 Then
'You Code
Timer1.Enabled = False
Exit Sub
End If

Timer1.Tag = CStr(CLng(Timer1.Tag) - 1)
Me.Caption = Timer1.Tag & " Second(s) Remaining..."
End Sub

mehran901
یک شنبه 01 بهمن 1391, 20:16 عصر
آقا دمتون گرم ، تگ رو خوب اومدی