منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيفية حساب مجموع عدة اوقات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] كيفية حساب مجموع عدة اوقات (/showthread.php?tid=44373)



كيفية حساب مجموع عدة اوقات - asmarsou - 24-11-22

السلام غليكم و رحمة الله و بركاته
لديا ليست  بوكس يتم تعبئتها باوقات مختلفة بهذا السياق 00:00:00 اذا كان الوقت يحوي قيمة ساغات و بهذا السياق
00:00 اذا كان الوقت لا يحوي ساعات
فكيف يمكن حساب الزمن الكلي لتلك الاوقات بمختلف صياغتها او قيمتها لعرضها في تكست بوكس بذات السياق 00:00:00
اي ساعات و دقائق و ثواني


RE: كيفية حساب مجموع عدة اوقات - عبدالله الدوسري - 25-11-22

وعليكم السلام ورحمة الله وبركاته

كود :
       Dim TotalTime As TimeSpan
       For Each Tim In Me.ListBox1.Items
           Dim ItemString As String = Tim.ToString
           If ItemString <> String.Empty Then
               Dim ItemTimeSpan As TimeSpan
               If ItemString.Split(":").Length > 2 Then
                   ItemTimeSpan = DateTime.ParseExact(ItemString, "HH:mm:ss", Nothing).TimeOfDay
               Else
                   ItemTimeSpan = DateTime.ParseExact(ItemString, "mm:ss", Nothing).TimeOfDay
               End If
               TotalTime = TotalTime.Add(ItemTimeSpan)
           End If
       Next
       MsgBox(TotalTime.ToString)

إذا كان الناتج أقل من أو يساوي 60 دقيقة النتيجة ستكون بهذا السياق : 00:59:59 ( مع وجود 00 في خانة الساعات ) ( بلإمكانة تهيئة النص بالشكل الذي تريدة )
إذا كان الناتج أقل من أو يساوي 24 ساعة النتيجة ستكون بهذا السياق : 01:06:00
إذا كان الناتج أكبر من 24 ساعة النتيجة ستكون بهذا السياق : 1.01:06:00 ( الرقم بعد الفاصلة للأيام )


RE: كيفية حساب مجموع عدة اوقات - asmarsou - 25-11-22

(25-11-22, 01:39 AM)عبدالله الدوسري كتب : وعليكم السلام ورحمة الله وبركاته

كود :
       Dim TotalTime As TimeSpan
       For Each Tim In Me.ListBox1.Items
           Dim ItemString As String = Tim.ToString
           If ItemString <> String.Empty Then
               Dim ItemTimeSpan As TimeSpan
               If ItemString.Split(":").Length > 2 Then
                   ItemTimeSpan = DateTime.ParseExact(ItemString, "HH:mm:ss", Nothing).TimeOfDay
               Else
                   ItemTimeSpan = DateTime.ParseExact(ItemString, "mm:ss", Nothing).TimeOfDay
               End If
               TotalTime = TotalTime.Add(ItemTimeSpan)
           End If
       Next
       MsgBox(TotalTime.ToString)

إذا كان الناتج أقل من أو يساوي 60 دقيقة النتيجة ستكون بهذا السياق : 00:59:59 ( مع وجود 00 في خانة الساعات ) ( بلإمكانة تهيئة النص بالشكل الذي تريدة )
إذا كان الناتج أقل من أو يساوي 24 ساعة النتيجة ستكون بهذا السياق : 01:06:00
إذا كان الناتج أكبر من 24 ساعة النتيجة ستكون بهذا السياق : 1.01:06:00 ( الرقم بعد الفاصلة للأيام )
تمام التمام
الله ينورك و يزيدك من فضله استاذنا الكريم