تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في حفظ اعدادات البرنامج My.Setting ... بيحفظ الكلمة الأولي فقط .
#1
السلام لكم اخوتي
البرنامج مش بيرضي يعمل حفظ للاعدادات بشكل صحيح
بيحفظ فقط اول كلمة من اي حاجة بضعها في 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

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

مشكور اخي علي ردك
لكن مش انا الي كاتب الكود ... انا اخذته من موقع
ومش فاهم ولا عارف اعمل ايه ؟
الرد }}}
تم الشكر بواسطة:
#4
جرب تجعل السطر بهذا الشكل
PHP كود :
My.Settings(input.Trim
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري
#5
بيجبلي خط ازرق تحت السطر
كود :
My.Settings(input.Trim)
الرد }}}
تم الشكر بواسطة:
#6
اعتذر على الخطأ
PHP كود :
My.Settings(إسم_السيتينج) = input.Trim 
الرد }}}
تم الشكر بواسطة:
#7
(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

ممكن بعد اذنك تكتب لي الكود كامل مع التعديل ... وشكراً لك اخي .
الرد }}}
تم الشكر بواسطة:
#8
قمت بهذا التعديل
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 
الرد }}}
تم الشكر بواسطة:
#9
تحت كلمة 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
الرد }}}
تم الشكر بواسطة:
#10
اعتذر على الخطأ مرة أخرى لأني نسخته من كود آخر
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 ) ضيف كريم