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

نسخة كاملة : مشكلة في حفظ اعدادات البرنامج My.Setting ... بيحفظ الكلمة الأولي فقط .
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام لكم اخوتي
البرنامج مش بيرضي يعمل حفظ للاعدادات بشكل صحيح
بيحفظ فقط اول كلمة من اي حاجة بضعها في My.setting
يعني لو الـ My.Setting = "Dany Ghost "
يحفظ كلمة Dany وبعد المسطرة ميحفظش حاجة
لو كان الـ My.Setting = "Windows XP "
يروح يحفظ Windows وميحفظش XP
علماً بأني واضع هذا الكود في الفورم


PHP كود :
Dim settingsFile As String "Unstall Program"

 
   ' إستيراد الاعدادت من ملف خارجي
    Public Sub ImportSettings(ByVal fileName 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 dataSplit = input.Split
                My.Settings(dataSplit(0)) = dataSplit(1)
            End While
        End Using
        My.Settings.Save()
    End Sub
    ' 
تصدير الاعدادت إلى ملف خارجي
    Public Sub ExportSettings
(ByVal fileName As String)
 
       Using sWriter As New IO.StreamWriter(fileName)
 
           For Each setting As Configuration.SettingsPropertyValue In My.Settings.PropertyValues
                Dim s 
As String setting.Name vbTab setting.PropertyValue.ToString()
 
               sWriter.WriteLine(System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(s)))
 
           Next
        End Using
        My
.Settings.Save()
 
   End Sub



Private Sub LogIn1_FormClosing(ByVal sender As ObjectByVal e As System.Windows.Forms.FormClosingEventArgsHandles Me.FormClosing

        ExportSettings
(settingsFile)

 
   End Sub


Private Sub LogIn1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        If IO
.File.Exists(settingsFileThen ImportSettings(settingsFile

ايه الحل يا شباب ؟
لأنك عامل Split يعني مقسم النص الى أجزاء بناء على المسافة (لأنه التقسيم الافتراضي ما لم تحدد غير ذلك)
ثم أخذت الجزء الأول (dataSplit(0
(30-12-17, 07:40 PM)طالب برمجة كتب : [ -> ]لأنك عامل Split يعني مقسم النص الى أجزاء بناء على المسافة (لأنه التقسيم الافتراضي ما لم تحدد غير ذلك)
ثم أخذت الجزء الأول (dataSplit(0

مشكور اخي علي ردك
لكن مش انا الي كاتب الكود ... انا اخذته من موقع
ومش فاهم ولا عارف اعمل ايه ؟
جرب تجعل السطر بهذا الشكل
PHP كود :
My.Settings(input.Trim
بيجبلي خط ازرق تحت السطر
كود :
My.Settings(input.Trim)
اعتذر على الخطأ
PHP كود :
My.Settings(إسم_السيتينج) = input.Trim 
(30-12-17, 07:58 PM)طالب برمجة كتب : [ -> ]اعتذر على الخطأ
PHP كود :
My.Settings(إسم_السيتينج) = input.Trim 

طيب انا عندي اكتر من 50 سيتنج اعمل ايه ؟
مفيش حاجة اكتبها ان كل السيتنج تكون input.Trim
بدل ما اكتب كل الستنج

علي فكرة انا حذفت دول من الكود

كود :
                Dim dataSplit = input.Split
                My.Settings(dataSplit(0)) = dataSplit(1)
ووضعت
كود :
My.Settings(إسم_السيتينج) = input.Trim

ممكن بعد اذنك تكتب لي الكود كامل مع التعديل ... وشكراً لك اخي .
قمت بهذا التعديل
PHP كود :
While sReader.Peek() > 0
    Dim input 
As String System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(sReader.ReadLine()))
 
   Dim dataSplit input.Split
    My
.Settings(dataSplit(0)) = input.Substring(s.IndexOf(Space(1))).Trim
End 
While 
تحت كلمة s.IndexOf خط ازرق
كود :
While sReader.Peek() > 0
    Dim input As String = System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(sReader.ReadLine()))
    Dim dataSplit = input.Split
    My.Settings(dataSplit(0)) = input.Substring(s.IndexOf(Space(1))).Trim
End While
اعتذر على الخطأ مرة أخرى لأني نسخته من كود آخر
PHP كود :
While sReader.Peek() > 0
    Dim input 
As String System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(sReader.ReadLine()))
 
   Dim dataSplit input.Split
    My
.Settings(dataSplit(0)) = input.Substring(input.IndexOf(Space(1))).Trim
End 
While 
الصفحات : 1 2