في بعض الأحيان لا يمكننا تقدير حجم المصفوفة عند استخدامها، لذلك من السهل التفكير في المصفوفات الديناميكية، أي تغيير حجم المصفوفة ديناميكيًا أثناء الاستخدام. من السهل تنفيذ ذلك في لغة VB، فلنستخدم مثالًا محددًا لشرح ذلك:
عادةً ما يتضمن تعريف مصفوفة ديناميكية في VB خطوتين:
(1) استخدم Dim أو Private أو Public للإعلان عن مصفوفة بدون اشتراكات في طبقة النموذج أو الوحدة القياسية (لا يمكن حذف الأقواس)،
(2) استخدم عبارة ReDim لتعريف مصفوفة ذات اشتراكات في العملية
وظيفة عبارة ReDim هي إعادة الإشارة إلى حجم المصفوفة. يقوم بتخصيص مساحة تخزين عندما ينفذ البرنامج عبارة ReDim.
التنسيق: ReDim (اسم الصفيف) (منخفض) [As (النوع)]
الوظيفة: تغيير حجم ومساحة تخزين المصفوفة الديناميكية.
يوضح:
(1) يمكن أن يكون المنخفض ثابتًا أو متغيرًا بقيمة محددة.
(2) معنى كل معلمة في العبارة هو نفس العبارة التي تستخدم Dim لتعريف المصفوفة.
(3) يمكن استخدام عبارة ReDim فقط للمصفوفات الديناميكية، ويمكنها تغيير حجم كل بُعد، ولكن ليس عدد الأبعاد.
(4) عندما يتم تجميع البرنامج، يتم تعريف كافة المصفوفات الموجودة في عبارة ReDim كمصفوفات ديناميكية. عند تشغيل البرنامج، عند تنفيذ عبارة ReDim، يتم إعادة تعيين الحدود العلوية والسفلية الجديدة للمصفوفة، وستتم تهيئة قيم عناصر المصفوفة، ويتم تعيين قيم جميع العناصر الرقمية على 0، ويتم تعيين عناصر السلسلة على أحرف فارغة.
(5) يمكن لعبارة ReDim تعريف مصفوفة بنفس طريقة عبارة Dim. في نفس البرنامج، يمكن أيضًا استخدام عبارة ReDim عدة مرات. قبل استخدام عبارة :ReDim لإعادة تعريف المصفوفة، يمكنك استخدام عبارة :Erase لحذف المصفوفة الأصلية.
مثال:
Dimaa()AsLong' يحدد مصفوفة ديناميكية
Redimaa(10)"ضبط حجم المصفوفات الديناميكية."
خافت ط كعدد صحيح
لأني = 1 إلى 10
أأ (أنا) = أنا
التالي
Redim aa(5) "تغيير الحجم مرة أخرى."
...عمليات أخرى