03-04-20, 01:40 PM
السلام عليكم ورحمة الله وبركاته
استيراد وتصدير MySetting إلى ملف خارجي بطريقة صحيحة وبدون مشاكل
قد تم طق هذا الموضوع من قبل
لكن طرأت فيه أخطاء وبعض الإشكالات
وأنا أبحث وجدت كود يعمل جيدا وقمت بالتعديل عليه
وقد جربته
حيث قام بتجاوز مشكلة الخطأ في الأكواد السابقة بجملة [b]Select Case[/b]
اولا يتم التصريح عن اسم الملف في قسم التصارح العام
ثانيا دالة الاستيراد
ثالثا دالة التصدير
استيراد وتصدير 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