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

نسخة كاملة : قراءة بيانات محددة من ملف text
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
ارجو المساعدة
ارغب في ان استخرج بيانات محددة من ملف نصي ربما يحوي اكثر من 10000 سطر هذه الاسطر تكون مجموعة مؤلفة من خمسين سطر وفي اخر سطر يوجد كلمة end تدل على نهاية المجموعة وبدء مجموعة اخر ولكان بيانات مختلفة ولكن تكون مشابهة بنفس الاسم
 
 
d/AD306L0114E/CBK1V72331103/106                 18-02-06  12:56:51
7621  NetM         NTM01              2893/06189
 
TRAFFIC MEASUREMENT : TRUNK GROUP                        18-01-26  00:15
 
DATA QUALITY : SECURE                             
 
    TGNO           :    BARMBK                                           
    OPMODE/TGRPTYP :    BW                                             
    AVAILABILITY   :                                                 
--------------------+---------+-------+-------+-------+-------+-------
CC:I                         1                                         
TC:I (DERL)                 15                                         
CCS WITH ANSWER:I            1                                         
TC ANSWER:I (DERL)          24                                         
CC:O                         0                                         
                                       
CCU CCS7 CCNC OLOAD          0                                                                              
END TEXT 7621
ارغب ان تظهر البيانات ضمن داتا غرد فيو حيث مثلا cc عنوان عمود والرقم الي بجانبه هو القيمة وهكذا tc عنوان العمود 15 البيانات حتى نصل الى كلمة end text وبعدها تبدء مجموعة ثانية هي بنفس اسماء الاعمدة cc  و  tc ... ولكن تكون بيانات غير وبهذا نصل الى نتيجة مثلا ان عمود cc يكون تحته 1000 بيان اي الف سطر  

name     data/taime     cc     tc    ccs      tc     ccs          connected
المجموعة الاولى   15      10      12    0      12    18/8/2018    12



وبهذا يكون الاسطر cc  tc..  هي عنواين لاعمدة

التاريخ يكون ضمن الاسطر الاولى TRUNK GROUP  وفي المجموعة الثانية يكون بنفس العنوان التاريخ
ارجو الاجابة على ان تظهر ضمن داتا غرد فيو
وشكرا
هل يوجد حل وشكرا
انت تحاول ان تستخدم ملف تكست كقاعدة بيانات ذات جدول
اظن لايمكن عمل هذا.
هذا الكود قد يفى بالغرض 

كود :
       Dim Lines As String() = IO.File.ReadAllLines("sample.txt")
       Dim dt As New DataTable

       dt.Columns.Add(New DataColumn("txt_name", GetType(String)))
       dt.Columns.Add(New DataColumn("txt_date", GetType(String)))
       dt.Columns.Add(New DataColumn("CC", GetType(String)))
       dt.Columns.Add(New DataColumn("TC", GetType(String)))
       dt.Columns.Add(New DataColumn("CCS", GetType(String)))
       dt.Columns.Add(New DataColumn("TC_ANSWER", GetType(String)))
       dt.Columns.Add(New DataColumn("CCU", GetType(String)))

       Dim txt_name, txt_date, CC, TC, CCS, TC_ANSWER, CCU As String
       txt_name = "" : txt_date = "" : CC = "" : TC = "" : CCS = "" : TC_ANSWER = "" : CCU = ""
       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("TRAFFIC MEASUREMENT") Then
               txt_date = line.Split(":")(1).Replace("TRUNK GROUP", "").Trim
           ElseIf line.StartsWith("CC:") Then
               CC = line.Split(":")(1).Replace("I", "").Trim
               CC = line.Split(":")(1).Replace("O", "").Trim
           ElseIf line.StartsWith("CCS") Then
               CCS = line.Split(":")(1).Replace("I", "").Trim
           ElseIf line.StartsWith("TC ANSWER") Then
               TC_ANSWER = line.Split(":")(1).Replace("I (DERL)", "").Trim
           ElseIf line.StartsWith("TC:") Then
               TC = line.Split(":")(1).Replace("I (DERL)", "").Trim
           ElseIf line.StartsWith("CCU") Then
               CCU = Strings.Right(line, 3).Trim
           ElseIf line.StartsWith("END TEXT") Then
               dt.Rows.Add(New Object() {txt_name, txt_date, CC, TC, CCS, TC_ANSWER, CCU})
               txt_name = "" : txt_date = "" : CC = "" : TC = "" : CCS = "" : TC_ANSWER = "" : CCU = ""
           End If
       Next
       DataGridView1.DataSource = dt

و لكن لم أفهم ما هى المجموعة الأولى و الثانية 
و لم أجد سطر به الاسم name 
كذلك هناك سطرين بدايتهما CC



اذا كان الكود لا يعطى المطلوب 
يرجى ارفاق الملف او جزء منه مع توضيح المطلوب