تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استيراد وتصدير MySetting إلى ملف خارجي بطريقة صحيحة وبدون مشاكل
#1
السلام عليكم ورحمة الله وبركاته

استيراد وتصدير MySetting إلى ملف خارجي بطريقة صحيحة وبدون مشاكل

قد تم طق هذا الموضوع من قبل
لكن طرأت فيه أخطاء وبعض الإشكالات
وأنا أبحث وجدت كود يعمل جيدا وقمت بالتعديل عليه
وقد جربته
حيث قام بتجاوز مشكلة الخطأ في الأكواد السابقة بجملة [b]Select Case[/b]

اولا يتم التصريح عن اسم الملف في قسم التصارح العام



كود :
 Dim Filename As String = "إسم الملف"



ثانيا دالة الاستيراد

كود :
Public Sub ImportSettings()
       Dim Divider As String = ";"
       Using sReader As New IO.StreamReader(Filename)
           While sReader.Peek() > 0
               Dim input As String = System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(sReader.ReadLine()))
               'Dim input As String = (sReader.ReadLine())
               Dim DataSplit = input.Split(CChar(Divider))
               ' Dim dataSplit = Input.Split(vbTab)
               Select Case DataSplit(0)
                   Case "System.Boolean"
                       My.Settings(DataSplit(1)) = CBool(DataSplit(2))
                   Case "System.String"
                       My.Settings(DataSplit(1)) = DataSplit(2)
                   Case "System.Int32"
                       My.Settings(DataSplit(1)) = CInt(DataSplit(2))
                   Case "System.Double"
                       My.Settings(DataSplit(1)) = CDbl(DataSplit(2))
                   Case "System.Drawing.Color"
                       My.Settings(DataSplit(1)) = Color.FromName(DataSplit(2))
                       'Hier kann man weitere Datentypen einbinden
               End Select
           End While
       End Using
       My.Settings.Save()
   End Sub

ثالثا دالة التصدير

كود :
Public Sub ExportSettings()
       Dim Divider As String = ";"
       Using sWriter As New StreamWriter(Filename)
           For Each Setting As System.Configuration.SettingsPropertyValue In My.Settings.PropertyValues
               Dim s As String = Setting.Property.PropertyType.ToString & Divider & Setting.Name & Divider & Setting.SerializedValue
               sWriter.WriteLine(System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(s)))
               'sWriter.WriteLine((s))
           Next
       End Using
       My.Settings.Save()
   End Sub
الرد }}}
تم الشكر بواسطة: tryold , ابو ليلى , ابو ليلى , asemshahen5 , asemshahen5



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


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