منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حساب مجموع الايام والساعات والدقائق
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
يا اخواني السلام عليكم 

عندي الكودات البرمجية التالية لحساب مجموع الساعات ويعطي نتيجة المجموع بعدد الساعات والدقائق واذا زاد المجموع عن 24 ساعة لا يعطي الايام شو الحل افيدوني بارك الله فيكم 

 Dim MyDateTime As DateTime = Nothing
        Dim MyTimeSpan As New TimeSpan
        For Each S As String In ListBox1.Items
            MyDateTime = DateTime.Parse(S)
           (( MyTimeSpan = MyTimeSpan.Add(New TimeSpan(MyDateTime.Hour, MyDateTime.Minute, 0))
        Next
        TextBox1.Text = MyTimeSpan.Days & "/" & MyTimeSpan.Hours & ":" & MyTimeSpan.Minutes

ل

عند اضافة mydatetime.day  بتعطيني رقم كبير ومش فاهم شو الطريقة

للتوضيح اقوم باضافة الساعات داخل listboxوتكون كالتالي مثلا  2:00+5:00+24:00+13:15
فيعطيني الناتج 1/20:15
date = 1
hours = 20
min = 15
تم اجراء الحل بس يمكن في شئ افضل

 Dim MyDateTime As DateTime = Nothing
        Dim MyTimeSpan As New TimeSpan
        Dim a As Integer = 0
        Dim a1 As Integer = 0
        Dim x As Integer = 0
        For Each S As String In ListBox1.Items

            MyDateTime = DateTime.Parse(S)

            MyTimeSpan = MyTimeSpan.Add(New TimeSpan(MyDateTime.Hour, MyDateTime.Minute, 0))
            a += MyDateTime.Hour
        Next
        a1 = (a - MyDateTime.Hour) / 24
        If (MyTimeSpan.Minutes) < 10 Then
            TextBox1.Text = a1 & " / " & MyTimeSpan.Hours & ":" & "0" & MyTimeSpan.Minutes
        Else
            TextBox1.Text = a1 & " / " & MyTimeSpan.Hours & ":" & MyTimeSpan.Minutes
        End If
الكود المستخدم لعرض عدد الساعات و عدد الايام

هو الافضل لك واذا تم عمل عليه بعض اللمسات سيكون فقط فى الجزء التالى مثل
كود :
TextBox1.Text = a1 & " / " & MyTimeSpan.Hours & ":" & "0" & MyTimeSpan.Minutes

لعمل دمج ولكن سيتم ذلك على اكثر من سطر 
لذلك بدلاً من اللمسات فالاضل الطريقة التى قمت باستخدامها

فتحياتى لك
وتمنياتى لك التوفيق
جرب هذا التعديل
كود :
Dim MyTimeSpan As New TimeSpan
For Each S As String In ListBox1.Items
   MyTimeSpan = MyTimeSpan.Add(New TimeSpan(Int(S.Split(":")(0)), Int(S.Split(":")(1)), 0))
Next
TextBox1.Text = MyTimeSpan.Days & "/" & MyTimeSpan.Hours & ":" & MyTimeSpan.Minutes
اشكرك اخي الكريم بارك الله فيك في ميزان حسناتك ان شاء الله  Shy
الحمد لله.