تقييم الموضوع :
  • 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 قال انها غير موجودة ......
ما العمل الآن؟
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  استخدام فونت جديد في البرنامج Emam emam 5 85 14-04-24, 01:29 PM
آخر رد: عبد العزيز البسكري
  عدم القدرة على إغلاق البرنامج وظهور رسالة the operation could not be completed صالح عبدالله 2 62 12-04-24, 06:03 AM
آخر رد: صالح عبدالله
  [VB.NET] حفظ الفورم (Form) (البرنامج) بعد التغيير visualist2015 8 6,460 12-04-24, 04:07 AM
آخر رد: أبو جودة
  تغيير المسار الي مسار البرنامج في تقرير ميكروسوفت atefkhalf2004 2 106 02-04-24, 05:05 PM
آخر رد: atefkhalf2004
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 155 12-03-24, 10:37 AM
آخر رد: strongriseman
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 117 22-02-24, 12:09 PM
آخر رد: AHMED213
  مطلوب كود الطباعة لهذا البرنامج melad2002 2 245 13-01-24, 06:42 PM
آخر رد: melad2002
  مشكلة تعليق البرنامج في حال عدم وجود ماسح ضوئي متصل بالكمبيوتر صالح عبدالله 1 212 09-01-24, 10:51 PM
آخر رد: صالح عبدالله
  حل مشكلة بعد تثبيت البرنامج في جهاز العميل Adel27213 3 474 02-12-23, 11:00 PM
آخر رد: justforit
Information [VB.NET] حذف كل العناصر التي تاتي بعد عنصر الذي احدده listbox mervandz 3 290 10-11-23, 07:12 PM
آخر رد: justforit

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


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