تقييم الموضوع :
  • 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 اللائحة فهي اكثر ديناميكية في هذا المجال

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] تحديد عنصر داخل اداة FlowLayoutPanel محمد اسماعيل 2 623 10-04-21, 12:58 AM
آخر رد: محمد اسماعيل
  [سؤال] احصاء كل عناصر الصور في المشروع في مصفوفة عبد الهادي بهاب 11 2,091 22-09-20, 03:45 PM
آخر رد: عبد الهادي بهاب
  [سؤال] اخفاء عنصر من صفحة العمل دون حذفه عبد الهادي بهاب 2 699 14-08-20, 06:58 PM
آخر رد: عبد الهادي بهاب
  [سؤال] الغاء علامة الماووس التحديد في عنصر richbox عبد الهادي بهاب 2 664 13-08-20, 02:23 PM
آخر رد: عبد الهادي بهاب
  [سؤال] كيف اضع حدث الضغط click عند انشاء عنصر عبد الهادي بهاب 12 1,594 09-08-20, 05:00 PM
آخر رد: عبد الهادي بهاب
  عمل مصفوفة ارقام من مصفوفة حروف makky 0 866 15-04-20, 01:28 PM
آخر رد: makky
  عرض رصيد بمعلومية عنصر عن طريق كومبوبوكس atefkhalf2004 20 2,618 14-04-20, 12:19 AM
آخر رد: asemshahen5
  [VB.NET] حذف عنصر خارج المصفوفة محمد اسماعيل 5 1,235 16-12-19, 10:12 PM
آخر رد: محمد اسماعيل
  تحويل مصفوفة حروف الي ارقام makky 0 810 26-09-19, 02:55 PM
آخر رد: makky
  [VB.NET] اختيار عنصر محدد بالكمبوبوكس محمد اسماعيل 6 1,291 22-08-19, 11:09 PM
آخر رد: ابراهيم ايبو

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


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