PDA

View Full Version : اختلاف ساعت



mahan_dawson
شنبه 21 مرداد 1391, 20:28 عصر
سلام
می خوام یه برنامه بنویسم که دو تا ساعت رو بهش بدم و جمعشون رو بگیرم
ممنون می شم اگه کمکم کنید

amirzandi
شنبه 21 مرداد 1391, 20:37 عصر
Dim ts as TimeSpan = Time1 + Time2
Me.Label1.text = ts.days.tostring

mahan_dawson
شنبه 21 مرداد 1391, 20:50 عصر
Dim ts as TimeSpan = Time1 + Time2
Me.Label1.text = ts.days.tostring
ممنون از کمکتون فکر کنم سوالمو بد مطرح کردم
اگر تو textbox1 یه ساعت مثلا 02:45 و تو textbox2 مثلا 1:45 رو وارد کنم
می خوام تو textbox3 عدد 4:15 رو ببینم

M.KH-SH
شنبه 21 مرداد 1391, 22:29 عصر
از dateAdd هم میتونی استفاده کنی

tehrandevil
یک شنبه 29 مرداد 1391, 15:24 عصر
سلام دوست عزیز،
یک راه ساده اینه که ساعت رو به دقیقه تبدیل کنی و سپس با دقیقه جمعش کنی،
حالا یک عدد اینتجر داری که می تونی جمع، تفریق و مقایسه روش انجام بدی.
و نهایتا دوباره به ساعت و دقیقه تبدیلش کنی.
موفق باشی

tstsst
یک شنبه 29 مرداد 1391, 17:38 عصر
سلام
از mid استفاده کن
Dim h, m, m1, h1 As Integer
m = Mid(TextBox1.Text, 4, 4)
m1 = Mid(TextBox2.Text, 4, 4)
m = m + m1
h = Mid(TextBox1.Text, 1, 2)
h1 = Mid(TextBox2.Text, 1, 2)
h = h + h1
Do While m >= 60
m -= 60
h += 1
Loop
Button1.Text = h & ":" & m

++ویرایش:

برای اشکالش هم می تونی برنامت رو این جوری بنویسی (اگه این جوری بنویسی ایراد می گیره 1:10 یا 1:1)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.TextLength = 4 And Mid(TextBox1.Text, 1, 1).Contains(0) Then
TextBox1.Text.Replace(":", ":" & 0)
End If
If TextBox2.TextLength = 4 And Mid(TextBox2.Text, 1, 1).Contains(0) Then
TextBox2.Text.Replace(":", ":" & 0)
End If
Dim h, m, m1, h1 As Integer
m = Mid(TextBox1.Text, 4, 4)
m1 = Mid(TextBox2.Text, 4, 4)
m = m + m1
h = Mid(TextBox1.Text, 1, 2)
h1 = Mid(TextBox2.Text, 1, 2)
h = h + h1
Do While m >= 60
m -= 60
h += 1
Loop
Button1.Text = h & ":" & m
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If Mid(TextBox1.Text, 1, 2).Contains(":") Then
TextBox1.Text = 0 & TextBox1.Text
End If

End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
If Mid(TextBox2.Text, 1, 2).Contains(":") Then
TextBox2.Text = 0 & TextBox2.Text
End If
End Sub

amirzandi
سه شنبه 31 مرداد 1391, 07:35 صبح
نیاز به این همه کد نیست ، شما ورودی ساعت را از کاربر با استفاده از Combobox بگیرین به صورت زیر عمل کنید:

ِ
Dim fromDate as datetime = datetime.now.tostring("yyyy/MM/dd " + Combobox1.text + ":" + Combobox2.text + ":00")
Dim toDate as datetime = datetime.now.tostring("yyyy/MM/dd " + Combobox3.text + ":" + combobox4.text + ":00")
dim ts as TimeSpan = fromDate + toDate
console.writeline(ts.Houts.tostring + ":" + ts.Minutes.tostring)

tstsst
سه شنبه 31 مرداد 1391, 09:21 صبح
نیاز به این همه کد نیست ، شما ورودی ساعت را از کاربر با استفاده از Combobox بگیرین به صورت زیر عمل کنید:
سلام
mahan_dawson (http://barnamenevis.org/member.php?261542-mahan_dawson) در نوشتشون textbox بکار بردن وگرنه با استفاده از NumericUpDown نیازی به این همه کدی که شما نوشتید نیست:

Button2.Text = NumericUpDown1.Value + NumericUpDown2.Value & ":" & NumericUpDown3.Value + NumericUpDown4.Value