PDA

View Full Version : کرنومتر



saz20120
جمعه 28 خرداد 1389, 17:00 عصر
سلام
چند ساعت وقت گذاشنم واسه نوشتن یه کرنومتر ساده که نتونستم.توی سایت هم گشتم چیزی که بدردم بخوره نبود یا زمانش دقیق نبود.میخواستم اگه کسی از دوستان بلده یا تا حالا نوشته واسم بزاره:ناراحت:

ameri110
جمعه 28 خرداد 1389, 18:23 عصر
ببین این مثال کارتو راه میندازه

saz20120
جمعه 28 خرداد 1389, 18:48 عصر
مرسی دوست عزیز اما تا اینجاش نوشتم فقط برای صدم ثانیه و دقیقه مشکل دارم.میخوام هم صدم ثانیه داشته باشه و هم دقیقه وساعت

ameri110
جمعه 28 خرداد 1389, 19:09 عصر
دو تا از صفر های اینتروال تایمر کم کن و مقداری که هر دفعه بهش اضافه میش رو 0.01 قرار بده
بعد دوتا تکست باکس درست کن با یه تایرم تو تایمر بنویس
if text1.text = 60 then
text2.text = text2.text + 1
end if

if text2.text = 60 then
text3.text = text3.text + 1
end if
تکس یک ثانیه و صدم رو نشون میده - تکست دو دقیه و سومی هم ساعت
اگه صدم مشکل داشت اون تنظیم اولیه که گفتم اینترول رو تغییر بدی و میزان افزارش رو 0.01 بکنی رو انجام نده بجاش یه تکست باکس بزار با یه تایمر با اینتر ول 1
تو تایمر بنویس
text4.text = text1.text /100

saz20120
جمعه 28 خرداد 1389, 19:47 عصر
من تستش کردم جواب نگرفتم.شما تست کردید؟؟؟؟

shedayat
جمعه 28 خرداد 1389, 20:11 عصر
ببین با این کارت راه می افته؟...

Pr0grammer
جمعه 28 خرداد 1389, 20:13 عصر
این ابزار می تونست کار شما رو راه بندازه؛ اما صدم ثانیه نداره!
http://barnamenevis.org/forum/showpost.php?p=614350&postcount=8

برای میلی ثانیه باید Interval تایمر رو برابر با 10 بزارید تا هر صدم ثانیه، یک بار دستورات اجرا بشن!
برای دستورات هم میتونید از این روش استفاده کنید :


persosond = persosond + 1

If persosond= 100 Then
varsecond = varsecond + 1
persosond = 0
End Ifبرای محاسبه دقیقه هم مشابه همین کد هستش، یعنی چک کنید که ثانیه به 60 اگه رسید، یکی به دقیقه اضافه کنه و ثانیه رو مجددا صفر قرار بده...

موفق باشید

Pr0grammer
جمعه 28 خرداد 1389, 20:16 عصر
ببین با این کارت راه می افته؟...
در برنامه شما :
1- Interval 1 با 10 (که بنده در پست قبلی عرض کردم) هیچ تفاوتی نداره... (میتونید تست کنید)
2- صدم ثانیه مثل ثانیه و دقیقه نیست که قتیی به 60 رسید، یکی به واحد بعدیش اضافه بشه! بلکه باید به 100 برسه!

saz20120
جمعه 28 خرداد 1389, 23:08 عصر
دوست عزیز وقتی با تایمر کار میکنم زمان دقیق نیست.برنامه ای رو که shedayat (http://www.barnamenevis.org/forum/member.php?u=79940) نوشته چک کنید توی 1 دقیقه 4 ثانیه جلو میره مشکل خودم هم همینه.ابزار دبگه ای نیست که بشه باهاش همین کار کرد؟؟؟

xxxxx_xxxxx
شنبه 29 خرداد 1389, 03:05 صبح
کرنومتر رو با ابزار Timer درست نکنید.
این تاپیک رو ببینید:
سورس يك كرنومتر ساده را با ويژوال بيسيك مي خوام ؟ (http://barnamenevis.org/forum/showthread.php?t=142791) ‏

saz20120
شنبه 29 خرداد 1389, 10:38 صبح
دوستان خواهشن اینو ببینید .زمانش درسته اما نمیدونم چرا از صفر شروع نمیکنه.لطفا کمک کنید کارم فعلا گیر همین هستش
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim FirstJ As Integer

Private Sub Command1_Click()
Timer1.Interval = 10
End Sub

Private Sub Timer1_Timer()
x = Timer

pos = InStr(Str(x), ".")
i = Mid(Str(x), pos + 1, 2)

j = x Mod 60
If FirstJ = 0 Then FirstJ = j
If j > FirstJ Then j = j - FirstJ
If j < FirstJ Then j = j + 1

If j = 60 Then
lbl: j = 0
k = k + 1
End If
Me.Caption = Format(k, "0#") & ":" & Format(j, "0#") & ":" & Format(i, "0#")
End Sub

Private Sub Timer2_Timer()
Label2.Caption = Time
End Sub

ameri110
شنبه 29 خرداد 1389, 17:52 عصر
بنویس وقتی کاربر رو دکمه کلیک می کنه مقدار صفر بشه

parselearn
شنبه 29 خرداد 1389, 18:41 عصر
كد ساده تر



Dim m As Integer, s As Integer, ms As Integer

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

Private Sub Command2_Click()
Timer1.Enabled = False
m = 0
s = 0
ms = 0
Text1.Text = "00:00:00"
End Sub

Private Sub Command3_Click()
Timer1.Enabled = False
End Sub

Private Sub Form_Load()
Timer1.Interval = 45
End Sub

Private Sub Timer1_Timer()
ms = ms + 5
If ms >= 100 Then s = s + 1: ms = 0
If s >= 60 Then m = m + 1: s = 0
Text1.Text = Format(CStr(m), "0#") & ":" & Format(CStr(s), "0#") & ":" & Format(CStr(ms), "0#")
End Sub

saz20120
شنبه 29 خرداد 1389, 21:18 عصر
مرسی دوست عزیز از زحمتی که کشیدی اما همینو بایه کرنومتر دقیق اندازه بگیر.میبینی که همین هم خیلی خطا داره :گریه: