PDA

View Full Version : کمک در تبدیل عدد به زمان



pouria_66
شنبه 18 دی 1389, 11:53 صبح
سلام دوستان عزیز
من میخوام توی دیتاگریددوتا زمان شروع و پایان رو از کاربرم دریافت کنم و بعد بهش بگم بین این دو زمان چند دقیقست
مثلا اگر زمان شروع رو 01:45 و زمان پایان رو 02:00 وارد کرد، برنامه به اون زمان 00:15 رو بده
حالا این یه طرف ماجرا
طرف دیگه اینکه اولا میخوام کار کاربر رو راحت کنم یعنی اینکه وقتی کاربر توی فیلد زمان شروع یا پایان نوشت 0145 برنامه به صورت خودکار تشخیص بده که منظور کاربر 01:45 بوده
در ضمن میخوام زمان بین این دو ساعت رو بصورت دقیقه محاسبه کنم
ممنون میشم یه کد بهم بدین که این کارو انجام بده واسم
مرسی از همه دوستان

ali_najari
شنبه 18 دی 1389, 12:12 عصر
دوست عزيز براي محاسبه زمان سپري شده بايد از تابع DateDiff استفاده كنيد!

و براي جدا سازي و تشخيص زمان ميتونيد از كد زير استفاده كنيد:

بصورت پيش فرض ستونها عبارتند از:

1- رديف (ColumnIndex = 0)
2- نام كارمند (ColumnIndex = 1)
3- ساعت ورود (ColumnIndex = 2)
4- ساعت خروج (ColumnIndex = 3)

در اين صورت براي ستون هاي 3 و 4 ميتونيد از كدهاي زير استفاده كنيد براي جدا سازي


Private Sub DGV_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellEndEdit

Select Case DGV.CurrentCell.ColumnIndex
Case 2
If DGV.Item(2, DGV.CurrentRow.Index).Value.ToString.Length >= 4 Then
Dim Ti As String = Replace(DGV.Item(2, DGV.CurrentRow.Index).Value, ":", "")
Dim Saat, Daghighe As Integer
Saat = Mid(Ti, 1, 2)
Daghighe = Mid(Ti, 3, 2)
DGV.Item(2, DGV.CurrentRow.Index).Value = Format(Saat, "00") & ":" & Format(Daghighe, "00")
End If
Case 3
If DGV.Item(3, DGV.CurrentRow.Index).Value.ToString.Length >= 4 Then
Dim Ti As String = Replace(DGV.Item(3, DGV.CurrentRow.Index).Value, ":", "")
Dim Saat, Daghighe As Integer
Saat = Mid(Ti, 1, 2)
Daghighe = Mid(Ti, 3, 2)
DGV.Item(3, DGV.CurrentRow.Index).Value = Format(Saat, "00") & ":" & Format(Daghighe, "00")
End If
End Select

End Sub

pouria_66
شنبه 18 دی 1389, 15:15 عصر
ali_najari عزیز
واقعا لطف کردین
خیلی کمک بزرگی به من کردین
باز مرسی