تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في حفظ محتوي التكست بوك
#1
سلام عليكم
واجهتني مشكلة في هذا الكود
والمراد من الكود هوا تحديد مكان حفظ المستند
وبمجرد نزول اي محتوي في تكست بوكس
ان ينحفظ تلقائياً في المكان المحطط مسبقاً
انا وضعت هذا الكود ولكن عند نزول كلمات
في تكست بوكس لا تنحفظ تلقائياً في 
المكان الذي سبق تحديدة 
ع سبيل مثال انا حدد حفظ تلقائي
ع سطح مكتب ولكن ظهرت نتجية في التكست بوكس ولم
تحفظ تلقائياً ع سطح المكتب
كود :
Try
           If Me.CheckBox1.Checked Then
               Dim rndd As New Random()
               Dim pat As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
               Dim sb As New StringBuilder()
               sb.AppendLine("Bot fun")
               sb.Append(TextBox2.Text)
               sb.AppendLine()
               sb.AppendLine()
               Dim sd As New SaveFileDialog()
               sd.FileName = "emad.txt"
               Dim filePath As String = ""
               Dim save As New StreamWriter(sd.FileName)
               save.Write(sb)
               filePath = sd.FileName
               save.Close()
           End If
       Catch
       End Try
كما هو موضح بصورة 
انا حضغط ع
auto save bots
شو بنزل في تكست بوكس
يذهب مباشرة للمكان
الذي سبق تحديدة وليكن سطح المكتب
وشكراً Heart
الرد }}}
تم الشكر بواسطة:
#2
...........
الرد }}}
تم الشكر بواسطة:
#3
جرب الكود هذا

Private fil As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\" & "emad.txt"

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
If IO.File.Exists(fil) Then TextBox1.Text = IO.File.ReadAllText(fil)

End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
save()
End Sub

Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
If Me.CheckBox1.Checked Then save()
End Sub

Sub save()
IO.File.WriteAllText(fil, TextBox1.Text)
End Sub
الرد }}}
تم الشكر بواسطة: 3asfa~mdmra
#4
صديقي العزيز اذهب الى اعدادت البرنامج وضع متغير من النوع النصي و سميه filePath ساخزن به مسار الملف

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

الحالة الثانية عند تعليم الحفظ التلقائي و المسار محفوظ للملف ساقوم بالاضافة فوق المحتويات مباشرة دون فتح صندوق الحفظ


الكود لكلا الحالتين

PHP كود :
       Dim sb As New StringBuilder()
 
       Try
            If Me
.CheckBox1.CheckState CheckState.Unchecked And String.IsNullOrEmpty(My.Settings.filePathThen
                sb
.AppendLine("Bot fun")
 
               sb.Append(TextBox1.Text)
 
               sb.AppendLine()

 
               Using Sd As New SaveFileDialog With {.Filter "Text Files |*.txt",
 
                                                    .FileName "emad.txt",
 
                                                    .RestoreDirectory True}
 
                   If Sd.ShowDialog DialogResult.OK Then
                        My
.Settings.filePath Sd.FileName
                        My
.Settings.Save()

 
                       Using sw As New System.IO.StreamWriter(My.Settings.filePathTrue)
 
                           sw.WriteLine(sb.ToString)
 
                       End Using

                    End 
If
 
               End Using

            ElseIf CheckBox1
.CheckState CheckState.Checked And Not String.IsNullOrEmpty(My.Settings.filePathThen
                              sb
.Append(TextBox1.Text)
 
               sb.AppendLine()

 
               Using sw As New System.IO.StreamWriter(My.Settings.filePathTrue)
 
                   sw.WriteLine(sb.ToString)
 
               End Using

            End 
If
 
       Catch ex As Exception
            MsgBox
(ex.ToString)
 
       Finally
            sb 
Nothing
        End 
Try 

يتبقى لدي حالة اخرى و هي في حال كان المسار ليس فارغ و الحفظ التلقائي غير معلم
يمكنك استخدام مثل هذا الكود

PHP كود :
       Try


            Dim sb 
As New StringBuilder()

 
           If File.Exists(My.Settings.filePathThen
                GoTo AppendWrite
            End 
If

 
           If Me.CheckBox1.CheckState CheckState.Unchecked And String.IsNullOrEmpty(My.Settings.filePathThen
                Dim rndd 
As New Random()
 
               Dim pat As String Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
 
               sb.AppendLine("Bot fun")
 
               sb.Append(TextBox1.Text)
 
               sb.AppendLine()

 
               Using Sd As New SaveFileDialog With {.Filter "Text Files |*.txt",
 
                                                    .FileName "emad.txt",
 
                                                    .RestoreDirectory True}
 
                   If Sd.ShowDialog DialogResult.OK Then
                        My
.Settings.filePath Sd.FileName
                        My
.Settings.Save()
 
                       Using sw As New System.IO.StreamWriter(My.Settings.filePathTrue)
 
                           sw.WriteLine(sb.ToString)
 
                       End Using
                    End 
If
 
               End Using

            ElseIf CheckBox1
.CheckState CheckState.Checked And Not String.IsNullOrEmpty(My.Settings.filePathThen
AppendWrite
:
 
               sb.Append(TextBox1.Text)
 
               sb.AppendLine()
 
               Using sw As New System.IO.StreamWriter(My.Settings.filePathTrue)
 
                   sw.WriteLine(sb.ToString)
 
               End Using

            End 
If
 
       Catch ex As Exception
            MsgBox
(ex.ToString)
 
       End Try 
استفد من الكود بما يتناسب مع توجهك
بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: عبد الرحمن , 3asfa~mdmra , sendbad100
#5
اخي شكراً لك لكن انا اريد ماينزل في تكس بوكس
ان يذهب المكان الذي تم تحديدة وليكن سطح مكتب
يعني عند تعليم على CheckBox1
لا يقوم بحفظ محتويات تكست بوكس
ولكن عند الضغط على CheckBox1
يقوم بتحديد مسارو نزل محتويات تكست بوكس
واذا نزل اي شي بتكس بوكس يقوم بنزلوها مباشرة في المكان المحدد
وليكن سطح المكتب
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم