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

نسخة كاملة : طلب التعديل على هذا الكود ليضيف من التكست بوكس لملف التكست الخارجى
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمه الله وبركاته 

عندى برنامج واقف على هذا التعديل 
كنت عايز اكتب بيانات فى التكست بوكس واحفظها فى ملف خارجى ولما اكتب تانى فى التكست بوكس واعمل حفظ يضيف اللى مكتوب فى التكست بوكس مع النص القديم دون ان يستبدل النص المكتوب بالقديم 
واليكم الكود واتمنى التعديل عليه ليضيف بدل مايستبدل فى ملف التكست

كود :
Dim SB As New System.Text.StringBuilder

      SB.AppendLine("" & "")
      SB.AppendLine("" & TextBox1.Text & ":" & TextBox2.Text & "###" & TextBox3.Text & "###" & TextBox4.Text & "")
      SB.AppendLine("" & TextBox5.Text & ":" & TextBox6.Text & "###" & TextBox7.Text & "###" & TextBox8.Text & "")

   
      Dim R = GenerateRandomAlphanumeric(10)
      IO.File.CreateText(Application.StartupPath & "\XtreamUserInfo.src").Close()
      IO.File.WriteAllText(Application.StartupPath & "\XtreamUserInfo.src", SB.ToString, System.Text.Encoding.UTF8)
  End Sub
  Public Function GenerateRandomAlphanumeric(ByRef iLength As Integer) As String
      Dim rdm As New Random()
      Dim allowChrs() As Char = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray()
      Dim sResult As String = ""

      For i As Integer = 0 To iLength - 1
          sResult += allowChrs(rdm.Next(5, allowChrs.Length))
      Next
      Return sResult
  End Function
عندي هذا المثال قريب مما تريد لكنه بعيد كل البعد عن كودك ارجو ان يكون مفيد لك :
حاولت اعدل علي الكود عشان اعمل بيه اللى فى دماغى ماعرفتش برضو
طب ممكن ارفقلك مشروعى وتعدلى عليه
وعليكم السلام

حسب ما تعلمته أن الامر CreateText يتسبب في إنشاء ملف جديد ليس به بيانات
وأن WriteAllText ينشئ الملف من جديد ويضع فيه البيانات (لن تجد البيانات السابقة)
وأنه لإضافة بيانات جديدة إلى بيانات سابقة يتم بالأمر AppendAllText فقط (ينشئ الملف إن لم يجده) بهذا الشكل
كود :
Dim SB As New System.Text.StringBuilder

     SB.AppendLine("" & "")
     SB.AppendLine("" & TextBox1.Text & ":" & TextBox2.Text & "###" & TextBox3.Text & "###" & TextBox4.Text & "")
     SB.AppendLine("" & TextBox5.Text & ":" & TextBox6.Text & "###" & TextBox7.Text & "###" & TextBox8.Text & "")

 
     Dim R = GenerateRandomAlphanumeric(10)
     'IO.File.CreateText(Application.StartupPath & "\XtreamUserInfo.src").Close()
     'IO.File.WriteAllText(Application.StartupPath & "\XtreamUserInfo.src", SB.ToString, System.Text.Encoding.UTF8)
     IO.File.AppendAllText(Application.StartupPath & "\XtreamUserInfo.src", SB.ToString, System.Text.Encoding.UTF8)
 End Sub
 Public Function GenerateRandomAlphanumeric(ByRef iLength As Integer) As String
     Dim rdm As New Random()
     Dim allowChrs() As Char = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray()
     Dim sResult As String = ""

     For i As Integer = 0 To iLength - 1
         sResult += allowChrs(rdm.Next(5, allowChrs.Length))
     Next
     Return sResult
 End Function



أرجو الإفادة وشكرا
(10-10-19, 09:15 PM)سميـر كتب : [ -> ]وعليكم السلام

حسب ما تعلمته أن الامر CreateText يتسبب في إنشاء ملف جديد ليس به بيانات
وأن WriteAllText ينشئ الملف من جديد ويضع فيه البيانات (لن تجد البيانات السابقة)
وأنه لإضافة بيانات جديدة إلى بيانات سابقة يتم بالأمر AppendAllText فقط (ينشئ الملف إن لم يجده) بهذا الشكل
كود :
Dim SB As New System.Text.StringBuilder

     SB.AppendLine("" & "")
     SB.AppendLine("" & TextBox1.Text & ":" & TextBox2.Text & "###" & TextBox3.Text & "###" & TextBox4.Text & "")
     SB.AppendLine("" & TextBox5.Text & ":" & TextBox6.Text & "###" & TextBox7.Text & "###" & TextBox8.Text & "")

 
     Dim R = GenerateRandomAlphanumeric(10)
     'IO.File.CreateText(Application.StartupPath & "\XtreamUserInfo.src").Close()
     'IO.File.WriteAllText(Application.StartupPath & "\XtreamUserInfo.src", SB.ToString, System.Text.Encoding.UTF8)
     IO.File.AppendAllText(Application.StartupPath & "\XtreamUserInfo.src", SB.ToString, System.Text.Encoding.UTF8)
 End Sub
 Public Function GenerateRandomAlphanumeric(ByRef iLength As Integer) As String
     Dim rdm As New Random()
     Dim allowChrs() As Char = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray()
     Dim sResult As String = ""

     For i As Integer = 0 To iLength - 1
         sResult += allowChrs(rdm.Next(5, allowChrs.Length))
     Next
     Return sResult
 End Function



أرجو الإفادة وشكرا




ياخى مش عارف اشكرك ازاى الف الف الف الف شكر لحضرتك حليت المشكله بالكود بتاعك وشرحك ثبت فى مخى كدا الف شكر ربنا يجازيك خير ان شاء الله