تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حذف عنصر من مصفوفة
#1
السلام عليكم
اشتغل على نسخة vb 2010
 هل فيه كود لحذف عنصر معين من مصفوفة ؟
----------
طبعا وجدت بعنض الاكواد الطويلة  بحيث يقوم الكود بالبحث عن عنصر ثم ينش مصفوفة اخرى ينقل اليها العناصر الباقية
ثم يفرغ المصفوفة الاولى و يعيد  نسخها من جديد

هل فيه مثل 

table.remove
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#2
السلام عليكم ورحمة الله وبركاته
اخي الكريم بالنسبة لحذف عنصر من المصفوفة  لايمكن بل يمكننا جعل قيمة العنصر فارغة ويبقى مكان العنصر محجوز
ولحذف عنصر نلجأ للحيلة التالية :
نعرف لائحة من عناصر المصفوفة ثم نحذف العنصر المطلوب وبعدها نقوم باسناد قيم اللائحة الى المصفوفة
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       'لدينا المصفوفة التالية
       Dim kk() As String = {"Ali", "Ahmad", "Sami"}

       MsgBox(kk.Length) '  عرض طول المصفوفة قيل الحذف
       ' التحقق من ان المصفوفة ليست لاشيء
       If Not IsNothing(kk) Then
           ' التأكد من ان طول اكبر من الصفر
           If kk.Count > 0 Then
               ' ننشء لائحة بنفس عناصر المصفوفة
               Dim ls As List(Of String) = kk.ToList
               ' نحذف العنصر ذو الاندكس 1
               ls.RemoveAt(1)
               kk = ls.ToArray
               MsgBox(kk.Length) '  عرض طول المصفوفة بعد الحذف
           End If
       End If
       '  عرض عناصر المصفوفة بعد الحذف
       For Each itm As String In kk
           MsgBox(itm)
       Next
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: عبد الهادي بهاب
#3
(08-07-20, 10:30 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم بالنسبة لحذف عنصر من المصفوفة  لايمكن بل يمكننا جعل قيمة العنصر فارغة ويبقى مكان العنصر محجوز
ولحذف عنصر نلجأ للحيلة التالية :
نعرف لائحة من عناصر المصفوفة ثم نحذف العنصر المطلوب وبعدها نقوم باسناد قيم اللائحة الى المصفوفة
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       'لدينا المصفوفة التالية
       Dim kk() As String = {"Ali", "Ahmad", "Sami"}

       MsgBox(kk.Length) '  عرض طول المصفوفة قيل الحذف
       ' التحقق من ان المصفوفة ليست لاشيء
       If Not IsNothing(kk) Then
           ' التأكد من ان طول اكبر من الصفر
           If kk.Count > 0 Then
               ' ننشء لائحة بنفس عناصر المصفوفة
               Dim ls As List(Of String) = kk.ToList
               ' نحذف العنصر ذو الاندكس 1
               ls.RemoveAt(1)
               kk = ls.ToArray
               MsgBox(kk.Length) '  عرض طول المصفوفة بعد الحذف
           End If
       End If
       '  عرض عناصر المصفوفة بعد الحذف
       For Each itm As String In kk
           MsgBox(itm)
       Next
   End Sub

و الله روعة ...جميل جدا اخي
ربي يحفظكم و يحفظنا جميعا
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#4
الحمد لله والشكر لله رب العالمين
ولك اخي الكريم
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: عبد الهادي بهاب
#5
وجدت كود يشابه ما ذكرت

<System.Array.Clear(ArrayName, i, 1)>
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#6
السلام عليكم 
اخي الكريم clear هي تماما مثل ("") ويبقى مكان العنصر محجوزا اي ان طول المصفوفة يبقى على حاله والعنصر الذي افرغناه قيمته فارغة
اما بالطريقة التي ذكرتها لك يتم حذف العنصر تماما
واذا كنت تستخدم الحذف باستمرار وكذلك تغيير طول المصفوفة فالافضل استخدام List اللائحة فهي اكثر ديناميكية في هذا المجال
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: عبد الهادي بهاب
#7
(08-07-20, 11:42 PM)ابراهيم ايبو كتب : السلام عليكم 
اخي الكريم clear هي تماما مثل ("") ويبقى مكان العنصر محجوزا اي ان طول المصفوفة يبقى على حاله والعنصر الذي افرغناه قيمته فارغة
اما بالطريقة التي ذكرتها لك يتم حذف العنصر تماما
واذا كنت تستخدم الحذف باستمرار وكذلك تغيير طول المصفوفة فالافضل استخدام List اللائحة فهي اكثر ديناميكية في هذا المجال

صحيح هو ما قلت الكود دئما يظهر راسلة الخطا ....
لكن كود حضرتك جد عملي
ان شاء الله ارفع العمل الجاري عليه 

ارجو ان تصبر معنا استاذي
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  إخفاء عنصر Crystal Report waataanys 0 214 13-12-23, 12:37 PM
آخر رد: waataanys
Information [VB.NET] حذف كل العناصر التي تاتي بعد عنصر الذي احدده listbox mervandz 3 290 10-11-23, 07:12 PM
آخر رد: justforit
  تحويل من قاعدة بيانات الى مصفوفة Lathe1 4 831 31-05-23, 09:41 PM
آخر رد: fouadhdfouad
  اختيار عنصر معين من قائمة تتولد فيها ازار عددها متغير atefkhalf2004 16 1,168 22-01-23, 12:56 AM
آخر رد: atefkhalf2004
  [سؤال] اظهار بيانات عنصر محدد من DataGrdView في فورم ثاني HUNTER25 9 879 19-12-22, 05:55 PM
آخر رد: HUNTER25
  فكرة تعديل او حذف عنصر / صنف في فاتورة atefkhalf2004 8 1,087 09-11-22, 12:01 AM
آخر رد: atefkhalf2004
  عدم تكرار عنصر في مصفوفة atefkhalf2004 6 1,418 19-08-22, 05:18 PM
آخر رد: atefkhalf2004
Heart [VB.NET] إضافة وحذف عنصر من DataGridView أبو خالد الشكري 7 1,908 11-12-21, 05:57 AM
آخر رد: سعود
  [VB.NET] تحديد عنصر داخل اداة FlowLayoutPanel محمد اسماعيل 2 1,470 10-04-21, 12:58 AM
آخر رد: محمد اسماعيل
  [سؤال] احصاء كل عناصر الصور في المشروع في مصفوفة عبد الهادي بهاب 11 3,856 22-09-20, 03:45 PM
آخر رد: عبد الهادي بهاب

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


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