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

نسخة كاملة : قراءة بيانات ملف نصي في الليست بوكس والبحث داخلها والحفظ
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم وبه نستعين


هذا المثال سنستفيد منه التالي :

1- قراءة بيانات ملف نصي من مسار معين في الليست بوكس
2- البحث داخل اللبيت بوكس عن كلمة أو جزء من كلمة وتحديد السطر
3- حذف السطر المحدد من الليست بوكس
4 - كتابة بيانات الليست بوكس الى ملف نصي في مسار معين ( الحفظ )

* قم بإنشاء ملف نصي بإسم test.txt في القرص D

واكتب فيه ثلاث او اربع أسطر وقم بالحفظ

* قم بإدراج التالي من صندوق الأدوات :

ListBox1
TextBox1
Button1 = بحث
Button2 = ازالة السطر المحدد
Button3 = حفظ

في دخول الفورم ( Load ) نضع هذا الكود
لقراءة بيانات الملف النصي في ListBox1

كود :
       'Read
       Dim Lines() As String = My.Computer.FileSystem.ReadAllText("D:\test.txt").Split(vbCrLf)
       ListBox1.Items.AddRange(Lines)


في زر Button1 نضع هذا الكود
وهو يقوم بالبحث عن النص الذي بداخل  TextBox1 في أسطر أو عناصر ListBox1
وتحديد السطر اذا تطابقت النتيجة سواء النص كامل او جزء منه وإلغاء التحديد إذا لم يتطابق

كود :
  Dim count As Integer = (ListBox1.Items.Count - 1)
       Dim words As String
       For a = 0 To count
           words = ListBox1.Items.Item(a)
           If InStr(words.ToLower, TextBox1.Text.ToLower) Then
               ListBox1.SelectedItem = words

               Return
           Else

               ListBox1.SelectedItem = Nothing

           End If

       Next


في زر Button2 نضع هذا الكود وهو يقوم بإزالة السطر أو الأسطر المحددة


كود :
If ListBox1.SelectedItem = Nothing Then

           MsgBox("Select the line first", MsgBoxStyle.Critical, Me.Text)

       Else

           For i As Integer = ListBox1.SelectedIndices.Count - 1 To 0 Step -1
               ListBox1.Items.RemoveAt(ListBox1.SelectedIndices.Item(i))

           Next


       End If


في زر Button3  نضع هذا الكود
ويقوم بكتابة أسطر أو عناصر ListBox1 في ملف نصي في مسار معين


كود :
     'Write
       Dim OutText As String = ""
       For Each S As String In ListBox1.Items
           OutText &= S & vbCrLf
       Next
       My.Computer.FileSystem.WriteAllText("D:\test.txt", OutText, False)



المثال في المرفقات
جزاك الله خيرا عمل رائع استمرررررر