26-09-18, 10:33 AM
(25-09-18, 10:26 PM)elgokr كتب : [ -> ]مرحباً اخى الغالي
اسف اولاً على التاخير بسبب يادوب جالس على جهازىبالمرفقات السورس + برنامج للاختبارالسورس (2015)
مع برنامج الاختبار ملف من نوع csvيحتوى على عدد 10 قيم من البياناتلكل قيمة مكرر 5 مرات يتم اختبار التشابق من حيث التاريخ + نص الرسالةليبقي الناتج للعرض هما 2 من الـ 10 الموجود بالملف
تم معالجة التاريخ ليعرض طبقاً لما طلب وهو
التاريخ | اسم اليوم | الوقت | صباحاً - مساءاً
اتمنى الان ان السورس يكون ملخص كل ما تريدهالكود مسيط وبدون تعقيد وبدون اكواد مبالغ بها
محتوى كود الفورم كاملاً ...
كود :
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DataGridView1.Rows.Clear()
DataGridView1.Columns.Clear()
Dim OFD_ As New OpenFileDialog
Dim RdVal As IO.StreamReader
Dim TxVal As String
Dim SpVal As String()
OFD_.DefaultExt = "csv"
OFD_.FileName = Nothing
OFD_.InitialDirectory = Application.StartupPath
OFD_.Filter = "File [CSV]|*.csv"
OFD_.Title = "Select file"
If OFD_.ShowDialog() <> DialogResult.Cancel Then
RdVal = IO.File.OpenText(OFD_.FileName)
TxVal = RdVal.ReadToEnd()
RdVal.Close()
TxVal = TxVal.Replace(vbNewLine, ",")
SpVal = TxVal.Split(",")
Else
Exit Sub
End If
DataGridView1.ColumnCount = 5
For ii As Integer = 0 To 4
DataGridView1.Columns(ii).Name = SpVal(ii)
Next
DataGridView1.Columns(0).Width = 30
DataGridView1.Columns(1).Width = 240
DataGridView1.Columns(2).Width = 100
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Width = 750
For i As Integer = 1 To Val(SpVal.Length / 5) - 1
For ii As Integer = 0 To DataGridView1.RowCount - 1
If DataGridView1.Rows(ii).Cells(1).Value = SpVal(Val(i * 5) + 1) And DataGridView1.Rows(ii).Cells(4).Value = SpVal(Val(i * 5) + 4) Then GoTo GoNextNow_
Next
Dim row As String() = New String() {SpVal(Val(i * 5)), SpVal(Val(i * 5) + 1), SpVal(Val(i * 5) + 2), SpVal(Val(i * 5) + 3), SpVal(Val(i * 5) + 4)}
DataGridView1.Rows.Add(row)
GoNextNow_:
Next
DataGridView1.Refresh()
DataGridView1.SelectAll()
For ii As Integer = 0 To DataGridView1.RowCount - 1
DataGridView1.Rows(ii).Cells(1).Value = DataGridView1.Rows(ii).Cells(1).Value.ToString.Replace(" at", Nothing)
Dim SpDate As String() = DataGridView1.Rows(ii).Cells(1).Value.ToString.Split(Space(1))
DataGridView1.Rows(ii).Cells(1).Value = SpDate(1) & SpDate(0) & SpDate(2) & SpDate(3)
Next
End Sub
End Class
الادوات المستخدمة عدد [ 1 ] Button1 و [ 1 ] DataGridView
تحياتى لكوتمنياتى لك التوفيق
مرحبا بك اخي elgokr
بخصوص التاخير ===> ان تاتي متاخر خيرا من ألا تاتي
لي طلب اخر اعز الله قدرك
انا عايز ابحث بعمود التاريخ السابق انشائة من الداتا تايمر مباشرة
استخدمت الكود التالي للبحث والفلترة ولكن لايعمل علي الرغم من ان نفس الكود يعمل عند اقتصاص التاريخ فقط من خلايا الداتا جريد فيو ويعمل نفس الكود التالي علي اي عمود بالداتا جريد فيو للبحث عن اي شيء
كود :
On Error Resume Next
For i As Integer = DATAGRID_NAME.Rows.Count - 1 To 0 Step -1
If Not DATAGRID_NAME.Rows(i).Cells(1).Value.ToString.Contains(DATETIM_START.Value.ToShortDateString) Or DATAGRID_NAME.Rows(i).Cells(1).Value = Nothing Then
DATAGRID_NAME.Rows.RemoveAt(i)
End If
Next