PDA

View Full Version : سوال: تعریف 15 دقیقه واسه یک تایمر



tehran2009
جمعه 27 اردیبهشت 1387, 00:49 صبح
من می خوام واسه یه تایمری تعریف کنم که بعد از 15 دقیقه یه تایمر دیگرو True

کنه ...

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

H4i0 ACP
جمعه 27 اردیبهشت 1387, 01:07 صبح
فایل ضمیمه رو ببینید :

VirGil
جمعه 27 اردیبهشت 1387, 01:33 صبح
من می خوام واسه یه تایمری تعریف کنم که بعد از 15 دقیقه یه تایمر دیگرو True

کنه ...

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

شما میتونید برای این کار مثلا از 4 تا تایمر استفاده کنید تا یکی یکی هم دیگه رو enabled

کنن.

مهتاب سعیدی
جمعه 27 اردیبهشت 1387, 02:01 صبح
گذاشتن 4تایمرسرعتو پایین میاره و باعث cra6 میشه.

vbhamed
جمعه 27 اردیبهشت 1387, 02:31 صبح
سلام

يك متغير عمومي بالاي كد فرم (بالاترين قسمت كد نه داخل form_load و ...) تعريف كنيد به نام مثلا zaman از نوع Single


Dim zaman as Singleيك تايمر با اينتروال 1 ثانيه بزاريد، البته چون زمان شما 15 دقيقه هست شايد 5 يا 10 ثانيه هم مورد نداشته باشه يعني 5000 يا 10000

تو form_load كد زير رو بنويسيد


zaman = Timerتو Timer1_Timer هم كد زير رو بنويسيد



if timer - zaman >= 15 * 60 then
Timer1.Enabled = False
Timer2.Enabled = True
End if
با اين كار بعد از 15 دقيقه تايمر اول غير فعال ميشه و تايمر دوم به كار ميفته
هنگام شروع برنامه تايمر دوم Enable نباشه

كار برنامه هم به اين شكل هست كه از تابع Timer ويژوال بيسيك استفاده مي كنه و هر 1 يا 5 يا 10 ثانيه يك بار (بستگي به Interval تايمر اول) چك مي كنه چقدر از زمان شروع برنامه گذشته و هر موقع 15 دقيقه شد كارش رو انجام مي ده

مهتاب سعیدی
جمعه 27 اردیبهشت 1387, 02:59 صبح
سلام

يك متغير عمومي بالاي كد فرم (بالاترين قسمت كد نه داخل form_load و ...) تعريف كنيد به نام مثلا zaman از نوع Single


Dim zaman as Singleيك تايمر با اينتروال 1 ثانيه بزاريد، البته چون زمان شما 15 دقيقه هست شايد 5 يا 10 ثانيه هم مورد نداشته باشه يعني 5000 يا 10000

تو form_load كد زير رو بنويسيد


zaman = Timerتو Timer1_Timer هم كد زير رو بنويسيد



if timer - zaman >= 15 * 60 then
Timer1.Enabled = False
Timer2.Enabled = True
End if
با اين كار بعد از 15 دقيقه تايمر اول غير فعال ميشه و تايمر دوم به كار ميفته
هنگام شروع برنامه تايمر دوم Enable نباشه

كار برنامه هم به اين شكل هست كه از تابع Timer ويژوال بيسيك استفاده مي كنه و هر 1 يا 5 يا 10 ثانيه يك بار (بستگي به Interval تايمر اول) چك مي كنه چقدر از زمان شروع برنامه گذشته و هر موقع 15 دقيقه شد كارش رو انجام مي ده
---------------------------------------------------------------
نمونه کدجناب H4i0 ACPباکمی،کمی تغییرتوفایل ضمیمه

Public i As Long

Private Sub Form_Load()
i = 1
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Str(Val(Label1.Caption) + 1)
If Val(Label1.Caption) = 15 Then Timer2.Enabled = True
End Sub

Private Sub Timer3_Timer()
Me.Caption = i
i = i + 1
If i = 60 Then i = 0
End Sub

noorsoft
جمعه 27 اردیبهشت 1387, 05:46 صبح
این کار با یک تایمر هم قابل انجامه و یا حتی با یک کلاس

tehran2009
جمعه 27 اردیبهشت 1387, 11:18 صبح
از کمک همتون ممنونم ....

اما من می خوام بعد از هر 15 دقیقه یک بار دیگه از اول شروع کنه ( از صفر شروع کنه تا به 15 دقیقه برسه ) و این کارو همچنان ادامه بده ....

مهران رسا
جمعه 27 اردیبهشت 1387, 12:02 عصر
خوب کاری نداره که . بعد از اینکه مقدار شمارنده به 15 رسید اون رو صفر کن ...

tehran2009
جمعه 27 اردیبهشت 1387, 12:29 عصر
از چه دستوری استفاده کنم ؟؟؟؟؟؟؟؟؟؟؟؟

مهران رسا
جمعه 27 اردیبهشت 1387, 12:31 عصر
مثلاً




If Label1>15 Then Label1=0

saied_hacker
جمعه 27 اردیبهشت 1387, 12:37 عصر
این جوری؟؟؟؟؟



Dim sec As Byte
Dim tim As Integer
Private Sub Command1_Click()
Timer1.Interval = 1000
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Form1.Caption = "Timer"
End Sub
Private Sub Timer1_Timer()
sec = sec + 1
If sec = 60 Then
tim = tim + 1
sec = 0
End If
If tim = 900 Then '15Min * 60=900
Timer2.Interval = 1000
tim = 0
sec = 0
End If
Text1.Text = sec
Text2.Text = tim
End Sub
Private Sub Timer2_Timer()
Form1.Caption = sec
End Sub

tehran2009
جمعه 27 اردیبهشت 1387, 13:20 عصر
اگه ممکنه با سورسو با پروژهای ویژوال برام قرار بدید ...

saied_hacker
جمعه 27 اردیبهشت 1387, 15:50 عصر
اینم پروژش

vbhamed
جمعه 27 اردیبهشت 1387, 23:24 عصر
سلام
تو همون كدي كه براتون نوشتم بعد از اينكه تايمر 2 رو فعال كرديد، تايمر 1 رو غير فعال و سپس فعال كنيد
اگر هم خواستيد بعد از انجام كاري كه براي تايمر 2 فعال كردين، تايمر 1 دوباره فعال بشه، تو كد Timer2_Timer تايمر شماره 1 رو فعال كنيد

parselearn
شنبه 28 اردیبهشت 1387, 07:32 صبح
Dim NE As Integer
'---------------------------------
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
'---------------------------------
Private Sub Timer1_Timer()
NE = NE + 1
Cls
Print NE
If NE = 15 Then
MsgBox "Prompt"
NE = 0
End If
End Sub

Mbt925
شنبه 28 اردیبهشت 1387, 14:18 عصر
ابزار زیر یه تایمره.

بهش اینتروال 15 دقیقه رو بدین ، ببینید قبول میکنه.

دانلود (http://mbt925.persiangig.com/ActiveX/LargeTm.rar)

مهران رسا
شنبه 28 اردیبهشت 1387, 14:27 عصر
ابزار زیر یه تایمره.

بهش اینتروال 15 دقیقه رو بدین ، ببینید قبول میکنه.

دانلود (http://mbt925.persiangig.com/ActiveX/LargeTm.rar)


ضمن تشکر از ابزاری که گذاشتید ...
چه طوری میشه یک Timer نوشت ؟!!

Mbt925
شنبه 28 اردیبهشت 1387, 14:32 عصر
ضمن تشکر از ابزاری که گذاشتید ...
چه طوری میشه یک Timer نوشت ؟!!

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

با یه سری توابع API که فکر کنم قبلا توی سایت معرفی کردم.

.:KeihanCPU:.
شنبه 28 اردیبهشت 1387, 18:44 عصر
یه متغیر براش تعریف کن مثلا S
اینتروال تایمر رو 1000 قرار بده
توی تایمر این دستور بنویس



S=مقدار اولیه
S=val(S) - 1
If S=0 Then
مجموعه دستوراتی که باید انجام بشن
S=مقدار اولیه
End If