تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اريد تعديل الكود ليعمل على صف فى داتا جريد
#11
لكن الكود لا يعمل على الوقت لو بصيغة AM PM

وربنا يوفقك ومنظر منك الدعم لانى مش قادر اوصل لحل
الرد }}}
تم الشكر بواسطة: سعود , سعود
#12
(29-11-21, 12:54 AM)new_programer كتب : لكن الكود لا يعمل على الوقت لو بصيغة AM     PM

وربنا يوفقك   ومنظر منك الدعم   لانى مش قادر اوصل لحل

الـam  و الـ pm  لا تجتمع مع تنسيق زي كذا: 

PHP كود :
01:20:33 am 


اما تستخدم نظام 12 ساعة مع am pm او تستخدم نظام 24 ساعة من دون am pm
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#13
يسمحلي اخي سعود بهذا التعديل
يعمل سواء ب am/pm او بدونها لاي خلية
كود :
For Each r As DataGridViewRow In DataGridView1.Rows
   If r.IsNewRow Then Exit For
   Dim t = CDate(r.Cells(4).Value) - CDate(r.Cells(3).Value)
   r.Cells(5).Value = String.Format("{0:00}:{1:00}", t.Hours, t.Minutes)
Next
في حال عدم وجود am/pm في وقت الحضور او وقت الانصراف فسيعتبر الوقت بنظام 24h
الرد }}}
تم الشكر بواسطة: سعود , new_programer
#14
(29-11-21, 10:35 AM)E100 كتب : يسمحلي اخي سعود بهذا التعديل
يعمل سواء ب am/pm او بدونها لاي خلية
كود :
For Each r As DataGridViewRow In DataGridView1.Rows
   If r.IsNewRow Then Exit For
   Dim t = CDate(r.Cells(4).Value) - CDate(r.Cells(3).Value)
   r.Cells(5).Value = String.Format("{0:00}:{1:00}", t.Hours, t.Minutes)
Next
في حال عدم وجود am/pm في وقت الحضور او وقت الانصراف فسيعتبر الوقت بنظام 24h

تمام تسلم  اخي الغالي  
                                       E100
الكود الخاص لك يعمل 

والحمد لله   توصلت لتعديل الكود   الخاص بي   والكودين بيظهرو نفس النتجية 

الخاص بعد التعديل :
      
كود :
     For Each row As DataGridViewRow In DataGridView1.Rows
           If row.IsNewRow = False Then
               Dim TotalMinit As Integer = 0
               Dim TotalHour As Integer = 0
               TotalMinit = DateDiff(DateInterval.Minute, row.Cells(3).Value, row.Cells(4).Value)  ' حساب الفرق بالساعة بين الحضور والانصراف
               If TotalMinit > 59 Then
                   TotalHour += Math.Floor(TotalMinit / 60)
                   TotalMinit = TotalMinit Mod 60
                   Dim TotalTime As String = TotalHour.ToString("00") & ":" & TotalMinit.ToString("00")
                   row.Cells(5).Value = TotalTime
               Else
                   row.Cells(5).Value = "00:" & TotalMinit.ToString("00")
                   'row.Cells(5).Value = "00"
               End If
           End If
       Next
لكن محتاج طلب اخر لمواصلة العمل 
ازاى اقدر اعمل استعلام عن الوقت الدخول فقط اللى هو اقل من الساعة 05:30 مساء
علشان الداتا متسجلة  فى قاعدة البيانات بالشكل دة 
1/1/22021 08:30
1/1/2021 05:30
الرد }}}
تم الشكر بواسطة:
#15
كود :
Dim t = If(CDate(r.Cells(4).Value) < CDate(r.Cells(3).Value), CDate(r.Cells(4).Value).AddHours(12), CDate(r.Cells(4).Value)) - CDate(r.Cells(3).Value)
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: