PDA

View Full Version : سوال: جمع ساعت



www.pc3enter.tk
جمعه 26 مهر 1392, 03:48 صبح
سلام دوستان خسته نباشید
یک سوال داشتم ان هم اینکه

من در یک جدول کلی داده ی زمان یا همان تایم دارم می خواستم ببینم چه طوری می تونم جمع ساعت ها را با هم جمع کنم و در اخر مثلا در تکس باکس نشون بده
مثل
00:30:12
01:11:03
00:00:17
00:49:21
02:17:03



ممنون می شوم از اینکه منو راهنمایی کنید

باتشکر

siyn71
جمعه 26 مهر 1392, 08:52 صبح
سلام..من یه نمونه برات درست کردم امیدوارم بدرد بخوره.
هزینش هم ده صلوات هستش:لبخند:111970

www.pc3enter.tk
جمعه 26 مهر 1392, 12:01 عصر
سلام
اولندش دست درد نکه دوم این که هزینش اش را پرداخت کردم سوم اینکه
این برنامه ارور میده

type mismatch

============
به این خط گیر میده

On Error Resume Next
h1 = Int(Left(time1, 2))
h2 = Int(Left(time2, 2))
m1 = Int(Right(time1, 2))
m2 = Int(Right(time2, 2))
'''''''''''''''''''''''''''''''
10 h1 = Int(Left(time1, 3))
h2 = Int(Left(time2, 3))
m1 = Int(Right(time1, 3))
m2 = Int(Right(time2, 3))
'''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''
addhoure = h1 + h2

SlowCode
جمعه 26 مهر 1392, 12:08 عصر
سلام
از توابع خود وی بی برای تشخیص ساعت، دقیقه و ثانیه استفاده کن، روش بالایی همیشه جواب نمیده:
txtSum.Text = Hour(t1.Text) + Hour(t2.Text) + Hour(t3.Text) + Hour(t4.Text)
یا مثلا:
MsgBox Hour(#12:30:12 AM#) + Hour(#1:11:03 AM#) + Hour(#12:00:17 AM#) + Hour(#2:17:03 AM#)

www.pc3enter.tk
جمعه 26 مهر 1392, 13:35 عصر
ممنونم دوست
ولی ببخشید در این یکی کمی تازه واردم می تونید بگید که دقیقا باید چه کار کنم و کد را باید کجا بزارم

SlowCode
جمعه 26 مهر 1392, 13:45 عصر
فرض کنیم زمانها رو داخل تکست باکس هایی به نام t1,t2,t3,t4 وارد کردین، مجموع ساعات هم داخل txtSum نوشته میشه.
اگه مقادیر رو داخل تکست باکس ننوشتی و از دیتابیس میخونی میتونی مقدار هر ساعت رو بریزی داخل یه متغیر بعد مجموع اونا رو حساب کنی.

siyn71
جمعه 26 مهر 1392, 14:38 عصر
ارور میده؟ :متفکر:
نمیدونم والا من از اینجا تست میکنم قشنگ کار میکنه..
محسن برنامه ایی که گذاشتمو تست کنن ببین مشکل داره؟

siyn71
جمعه 26 مهر 1392, 14:45 عصر
محسن کدی که گذاشتی دقیقه رو حساب نمیکرد:متفکر:
من 4 تا تکس گذاشتم و یه تکس سام
ساعت ها حساب میشد اما دقیقه هارو هر چی بالا پایین میکردم جواب نمیداد

SlowCode
جمعه 26 مهر 1392, 14:47 عصر
اگه دقت کنین تو اون خط یه عدد 10 تو ابتدای کد نوشته شده و خطا به خاطر اونه.
همونطور که گفتم این کد خوبی نیست مثلا شما این دو تا تاریخ رو تست کن:#2:23:20 PM# و #1:33:12 PM#
میبینی که خطا میده.
گاهی اوقات ممکنه ساعت به صورت یک رقمی نوشته بشه! که در اینصورت علامت : رو هم جدا میکنه که برنامه خطا میده.
یا مثلا توی تاریخ pm یا ب.ظ نوشته بشه که باز هم خطا میده چون شما از int استفاده کردی و وی بی نمیتونه حرف رو به عدد تبدیل کنه.

SlowCode
جمعه 26 مهر 1392, 14:50 عصر
محسن کدی که گذاشتی دقیقه رو حساب نمیکرد:متفکر:
من 4 تا تکس گذاشتم و یه تکس سام
ساعت ها حساب میشد اما دقیقه هارو هر چی بالا پایین میکردم جواب نمیداد

بله حساب نمیکنه چون:

من در یک جدول کلی داده ی زمان یا همان تایم دارم می خواستم ببینم چه طوری می تونم جمع ساعت ها را با هم جمع کنم و در اخر مثلا در تکس باکس نشون بده

ایشون فقط به ساعت اشاره کردن. واسه حساب کردن دقیقه باید اینطوری نوشت:

H = Hour(t1.Text) + Hour(t2.Text) + Hour(t3.Text) + Hour(t4.Text)
M = Minute(t1.Text) + Minute(t2.Text) + Minute(t3.Text) + Minute(t4.Text)

txtSum.Text = H & "." & M

همچنین واسه ثانیه از تابع Second

siyn71
جمعه 26 مهر 1392, 14:50 عصر
دوست عزیز حالا من یه ورژن دیگه از سورسمو میزارم ببین چطوره..exe برنامه رو هم میزارم اگزشو فعال کن ببین ارور میده یا نه..ماله من که راحت کار میکنه شاید وی بیت مشکل داشته باشه .. گاهی اوقات اگه خوده وی بی خراب باشه اذیت میکنه.

siyn71
جمعه 26 مهر 1392, 14:53 عصر
:لبخند:لطفا انرژی گرفته و به کار خود ادامه دهید:لبخند:

www.pc3enter.tk
جمعه 26 مهر 1392, 15:55 عصر
هنوز به همان قسمت گیر میده


'''''''''''''''''''''''''''''''
10 h1 = Int(Left(time1, 3))
h2 = Int(Left(time2, 3))
m1 = Int(Right(time1, 3))
m2 = Int(Right(time2, 3))
'''''''''''''''''''''''''''''''''

SlowCode
جمعه 26 مهر 1392, 16:04 عصر
خب عزیز من گفتم که تو اون خط عدد 10 اضافه است!
اونو حذف کن.
به سینتکس کد دقت کن دیگه!