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

نسخة كاملة : جلب البيانات من ملف txt
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله تعالى وبركاته
الأساتذة الكرام 
رجاءا لو سمحتم
عندي ملف تكست به قائمة من البيانات أريد تحميلها على قريد فيو
قمت بكاتبة هذا الكود لكن البيانات طلعت كلها في عمود واجد وبقية الأعمدة طلعت فارغة 
الملف هو :
[attachment=13674]
الكود  الذي كتبته هو :

        Dim fichierALire As String = Application.StartupPath & "\" & "Forme.txt"

        Dim champs() As String

        Dim sr As New StreamReader(fichierALire)

        While Not sr.EndOfStream
            Dim ligne As String = sr.ReadLine()
            champs = ligne.Split(CChar(vbTab))
            dgv.Rows.Add(champs)

        End While

ألف شكر لكم مسبقا
أخي

لاحظت أنك اعتمدت على vbTab ولكن الملف ليس مقسم على أساسه بل مقسم على أساس فهرس الحرف في السطر

حدد طول كل عمود، مثلا الأول 55حرفاً والثاني 50 وهكذا

هذه تجربة قد تكون الحل
PHP كود :
   Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click

        Dim dt 
As New DataTable
        dt
.Columns.Add("Column1")
        dt.Columns.Add("Column2")
        dt.Columns.Add("Column3")
        dt.Columns.Add("Column4")
        dt.Columns.Add("Column5")
        dt.Columns.Add("Column6")
        dt.Columns.Add("Column7")
        dt.Columns.Add("Column8")
        dt.Columns.Add("Column9")
        dt.Columns.Add("Column10")
        dt.Columns.Add("Column11")
        dt.Columns.Add("Column12")
        dt.Columns.Add("Column13")
        dt.Columns.Add("Column14")

        For Each txt As String In IO.File.ReadLines("medic.txt")
            Dim r As DataRow dt.NewRow
            r
.Item("Column1") = txt.Substring(055).Trim
            r
.Item("Column2") = txt.Substring(5550).Trim
            r
.Item("Column3") = txt.Substring(10530).Trim
            r
.Item("Column4") = txt.Substring(13520).Trim
            r
.Item("Column5") = txt.Substring(15521).Trim
            r
.Item("Column6") = txt.Substring(1769).Trim
            r
.Item("Column7") = txt.Substring(1858).Trim
            r
.Item("Column8") = txt.Substring(19319).Trim
            r
.Item("Column9") = txt.Substring(2153).Trim
            r
.Item("Column10") = txt.Substring(2184).Trim
            r
.Item("Column11") = txt.Substring(22320).Trim
            r
.Item("Column12") = txt.Substring(24321).Trim
            r
.Item("Column13") = txt.Substring(2642).Trim
            r
.Item("Column14") = txt.Substring(266).Trim
            dt
.Rows.Add(r)
        Next

        Me
.DataGridView1.DataSource dt

    End Sub 


ولكن عليك مراجعة كل عمود حيث له رقمان (باستثناء الأخير لأنه يأخذ المتبقي كله)
الرقم الأول بداية العمود
الرقم الثاني طول العمود من الأحرف (حتى لو كان مسافات فارغة)
لو تجيب صورة لمثال تود تقليدها ...ممكن اقدر اساعدك.
عندي فكرة اخرى بصياغة الملف النصي واستدعاءها لشبكة البيانات.
ألف شكر والله ما أدري كيف أشكرك
الحمد لله

الأول طلع يبدأ من صفر وليس 1 وطوله 55 
ولكن لازمن تتأكد من كل الأعمدة

وهذا مشروع للي يحب يجرب في المرفقات
ألف ألف شكر هذا بالظبط ما كنت أريده جازاك الله خيرا وجعله في ميزان حسناتكم أساتذة المنتدى

فقط شيء آخر لو سمحتم
لو حبيت أعمل تحديث في قاعدة البيانات لهذه القوائم أي إذا كان السطر موجوديقوم بعملية التحديث وإن لم يكن موجود يقوم بعملية الإنسرت
وحتى لا أثقل عليكم عملية التحديث والإنسرت أعرف كيف أقوم بها لكن كيف أتحقق من وجود السطر من عدمه فهذا ما يؤرقني
ألف شكر لكم مرة أخرى
أخي

أعطيني معلومات بداية وطول كل عمود بالنص الخاص بملف txt
ممكن تعمل تصحيح للكود السابق وتضعه هنا

هل تقصد التحديث بيانات ملف txt
إذا كان كذلك إن شاء الله أقوم بعمل لك كود التحديث
بداية وطول كل عمود تم بحمد الله وتوضيحك الذي قمتم برفعه في المثال فألف شكر
أقصد بالتحديث داخل قاعدة البيانات بناءا على ملف txt