تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حفظ التغيرات التي حدثت غي البرنامج بعد غلقه
#1
اهلا اخواني
لدي قائمة list box
اريد ان يحفظ البرنامج التغيرات التي حدثت فيه حتى بعد غلق البنامج
بحيث انه عند فتحه ثانية اجد التعديلات التي قد قمت بها Smile
لا أن ابدأ من الأول Smile

هل من حل ؟
الرد }}}}
تم الشكر بواسطة:
#2
أما من رد ؟:eek:
الرد }}}}
تم الشكر بواسطة:
#3
السلام عليكم ورحمة الله وبركاته
الصراحه ماعرف الكود اللي تريده :confused:
جرب طريقه ثانيه احسن وهي ربطها بقاعدة بيانات.
وان شاء الله الاعضاء اللي بالمنتدى راح يساعدوك
الرد }}}}
تم الشكر بواسطة:
#4
Crazy"vb كتب :السلام عليكم ورحمة الله وبركاته
الصراحه ماعرف الكود اللي تريده :confused:
جرب طريقه ثانيه احسن وهي ربطها بقاعدة بيانات.
وان شاء الله الاعضاء اللي بالمنتدى راح يساعدوك
اشكرك اخي على مساعدتك لكن لا أستطيع ربطها بقاعدة بيانات
الرد }}}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله وبركاته

كود :
' استعراض العناصر المحفوظة
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim MyItems As String = Application.UserAppDataRegistry.GetValue("MyItems") ' استعادة العناصر المحفوظة في الريجستري
        If Not String.IsNullOrEmpty(MyItems) Then ' التأكد من وجود بيانات
            Dim Items() As String = MyItems.Split("|") ' تقسيم العناصر
            Me.ListBox1.Items.AddRange(Items.ToArray) ' إضافة العناصر لأداة الليست دفعة واحدة
        End If
    End Sub


    ' حفظ العناصر السابقة والجديدة
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Try
            Dim items As String = "" ' حاوية العناصر
            If Me.ListBox1.Items.Count > 0 Then ' التحقق من احتواء أداة الليست علي عناصر
                For Each s As String In Me.ListBox1.Items ' حلقة للدوران علي عناصر الأداة
                    If s <> "" Then ' التححق من عدم خلو المتغير من بيانات
                        items += s & "|" ' إضافة قيمة العنصر لحاوية العناصر
                    End If
                Next
                items = items.TrimEnd("|") ' حذف آخر علامة لأننا لا نحتاج إليها
                Application.UserAppDataRegistry.SetValue("MyItems", items) ' حفظ البيانات في الريجستري
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error")
        End Try
    End Sub

قد توجد طرق أخرى أسهل من هذا

****
***
**
*
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}}
تم الشكر بواسطة:
#6
طريقه اخرى

اذهب الى
Settings << My Prject
فى خانة ال name اكتب اى اسم .. وليكن itms

وخانة ال Type اختار System.Collections.Specialized.StringCollection

ثم فى حدث Form1_Load ضع هذا الكود

PHP كود :
If My.Settings.itms IsNot Nothing Then
            
For Each item In My.Settings.itms
                ListBox1
.Items.Add(item)
            
Next
        End 
If 

وفى حدث Form1_FormClosing ضع هذا الكود
PHP كود :
My.Settings.itms.Clear()
        For 
Each item In ListBox1.Items
            My
.Settings.itms.Add(item)
        
Next
        My
.Settings.Save() 
بالتوفيق ان شاء الله
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}}
تم الشكر بواسطة:
#7
kslawy كتب :السلام عليكم ورحمة الله وبركاته

كود :
' استعراض العناصر المحفوظة
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim MyItems As String = Application.UserAppDataRegistry.GetValue("MyItems") ' استعادة العناصر المحفوظة في الريجستري
        If Not String.IsNullOrEmpty(MyItems) Then ' التأكد من وجود بيانات
            Dim Items() As String = MyItems.Split("|") ' تقسيم العناصر
            Me.ListBox1.Items.AddRange(Items.ToArray) ' إضافة العناصر لأداة الليست دفعة واحدة
        End If
    End Sub


    ' حفظ العناصر السابقة والجديدة
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Try
            Dim items As String = "" ' حاوية العناصر
            If Me.ListBox1.Items.Count > 0 Then ' التحقق من احتواء أداة الليست علي عناصر
                For Each s As String In Me.ListBox1.Items ' حلقة للدوران علي عناصر الأداة
                    If s <> "" Then ' التححق من عدم خلو المتغير من بيانات
                        items += s & "|" ' إضافة قيمة العنصر لحاوية العناصر
                    End If
                Next
                items = items.TrimEnd("|") ' حذف آخر علامة لأننا لا نحتاج إليها
                Application.UserAppDataRegistry.SetValue("MyItems", items) ' حفظ البيانات في الريجستري
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error")
        End Try
    End Sub

قد توجد طرق أخرى أسهل من هذا

****
***
**
*
أسف للأنقطاع عنكم و عدم الرد بسرعة و أشكركم لأهتمامكم
شكرا اخي على هذا الكود لكنه صعب فعلا بعض الشئ Smile
الرد }}}}
تم الشكر بواسطة:
#8
learning.net كتب :طريقه اخرى

اذهب الى
Settings << My Prject
فى خانة ال name اكتب اى اسم .. وليكن itms

وخانة ال Type اختار System.Collections.Specialized.StringCollection

ثم فى حدث Form1_Load ضع هذا الكود

PHP كود :
If My.Settings.itms IsNot Nothing Then
            
For Each item In My.Settings.itms
                ListBox1
.Items.Add(item)
            
Next
        End 
If 

وفى حدث Form1_FormClosing ضع هذا الكود
PHP كود :
My.Settings.itms.Clear()
        For 
Each item In ListBox1.Items
            My
.Settings.itms.Add(item)
        
Next
        My
.Settings.Save() 
بالتوفيق ان شاء الله
أخي الكريم أشكرك على أهتمامك Smile
لكن عند غلق البرنامج تأتيني الرسالة التالية
Object reference not set to an instance of an object.
ما العمل ؟
الرد }}}}
تم الشكر بواسطة:
#9

السلام عليكم ورحمة الله وبركاته




نذهب الى خصائص المشروع عن طريق النقر مرتين على My Project في نافذة مستعرض المشروع في اليمين
أو من القائمة Project نختار Properties آخر خيار
ثم نحدد التبويب Settings في اليسار
نكتب في Name اسم المتغير وليكن itms
نحدد في Type الخيار System.Collections.ArrayList


فان لم نجدها نختار ...Browse في الأخير، ثم نوسع System.Collections ونختار منها ArrayList


ثم نضع هذا الكود لحفظ واسترجاع عناصر ListBox1
PHP كود :
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
    
If My.Settings.itms IsNot Nothing Then
        Me
.ListBox1.Items.AddRange(My.Settings.itms.ToArray())
    
End If

End Sub

Private Sub Form1_FormClosing(ByVal sender As ObjectByVal e As System.Windows.Forms.FormClosingEventArgsHandles Me.FormClosing
    My
.Settings.itms = New ArrayList(ListBox1.Items)
    
My.Settings.Save()

End Sub 



[COLOR="#FF0000"]تم تصحيح إلى System.Collections



[/COLOR]
السلام عليكم ورحمة الله وبركاته
 
 
@@@ سامحوني، منقطع نهائياً @@@

 
الرد }}}}
تم الشكر بواسطة:
#10
@@أبورائد@@ كتب :
السلام عليكم ورحمة الله وبركاته


ش

أولا: نذهب الى خصائص المشروع عن طريق النقر مرتين على My Project في نافذة مستعرض المشروع في اليمين
أو من القائمة Project نختار Properties اخر اختيار
ثم نختار التبويب Settings في اليسار
نكتب في Name اسم المتغير وليكن itms
نحدد في Type الاختيار System.Connections.ArrayList

فان لم تجدها اختر Browse ثم نفتح System.Connections ونختار منها ArrayList


ثم نضع هذا الكود لحفظ عناصر الـ ListBox1


PHP كود :
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
    
If My.Settings.itms IsNot Nothing Then
        Me
.ListBox1.Items.AddRange(My.Settings.itms.ToArray())
    
End If

End Sub

Private Sub Form1_FormClosing(ByVal sender As ObjectByVal e As System.Windows.Forms.FormClosingEventArgsHandles Me.FormClosing
    My
.Settings.itms = New ArrayList(ListBox1.Items)
    
My.Settings.Save()

End Sub 





السلام عليكم ورحمة الله وبركاته

شكرا أخي على أهتمامك لكن System.Connections غير موجودة في القائمة أساسا ، وعندما كتبت في مربع selected typy جملة System.Connections.ArrayList قال انها غير موجودة ......
ما العمل الآن؟
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيف اجعل البرنامج يحفظ بيانات؟ The Light Fire 6 88 منذ 2 ساعة مضت
آخر رد: amgad525
  [نقاش] الى كل خبير ومبتدأ نقاش بخصوص جعل البرنامج نسخة تجريبية 0theghost0 1 149 30-11-16, 11:21 PM
آخر رد: awidan76
  [نقاش] اسئلكم بالله / تسعيرة هذا البرنامج مصمم على فيجول استديو 2013 عزف الخواطر 3 111 30-11-16, 06:42 PM
آخر رد: عزف الخواطر
  [سؤال] اداة Geckowebbroser التي موجود في لغة vb.net عبدالرحمن المكاوي 0 47 24-11-16, 03:54 PM
آخر رد: عبدالرحمن المكاوي
  [سؤال] مشكلة في إعادة تنفيذ البرنامج wael khlak 1 51 21-11-16, 11:48 PM
آخر رد: السرور
  خطا عند تشغيل البرنامج makky 10 134 19-11-16, 03:17 AM
آخر رد: أبو عمر
  [VB.NET] طلب تعديل ع الكود ليصبح البرنامج جاهزاً 3asfa~mdmra 8 189 12-11-16, 02:30 AM
آخر رد: 3asfa~mdmra
  حجم ملف دعم البرنامج كبير جدا makky 6 125 26-10-16, 10:25 PM
آخر رد: makky
  [VB.NET] نص من ملف txt يضهر في اعلاء البرنامج dubai.eig 0 58 26-10-16, 08:10 PM
آخر رد: dubai.eig
  [سؤال] رجاء المساعدة البرنامج لا يعمل تحديث للبيانات Asmaa adel 3 154 16-10-16, 09:48 AM
آخر رد: Asmaa adel

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


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