تعد مصفوفة ASP حاوية سهلة الاستخدام نسبيًا لتحميل كميات كبيرة من البيانات.
1. تعريف المصفوفة
هناك طريقتان: DIM وREDIM.
يحدد DIM مصفوفة من الأرقام الثابتة ونوع البيانات؛ ويمكن لـ REDIM تحديد أنواع مختلفة من البيانات، ويمكنه أيضًا تحديد البيانات التي لم يتم إصلاح رقمها. قارن الأمثلة التالية. أمثلة كلها قانونية:
رمز البرنامج
صفيف خافت(5,2)
استرداد المصفوفة(5,2)
أمثلة حيث يكون الأول خطأ والأخير قانوني:
رمز البرنامج
ن = 10
صفيف خافت (ن)
استرداد المصفوفة (ن،2)
بالإضافة إلى ذلك، يمكن لـ REDIM أيضًا تعريف صفائف من الأنواع غير المحددة، مثل:
رمز البرنامج
استرداد المصفوفة(10)
2. عدد المصفوفات
يمثل الحرف المنخفض المحدد عند تعريف صفيف باستخدام DIM أو REDIM الحد الأقصى المسموح به عند الوصول إلى الصفيف، ولكن ليس عدد الصفائف. في الواقع، عدد المصفوفات أحادية البعد دائمًا يساوي (الحد الأقصى + 1)، ويتم الوصول واحدًا تلو الآخر بدءًا من 0 وحتى المنخفض.
على سبيل المثال:
رمز البرنامج
صفيف خافت(5)
هناك 6 عناصر مصفوفة محددة، وهي:
محتوى الاقتباس
مصفوفة (0)، مصفوفة (1)، مصفوفة (2)، مصفوفة (3)، مصفوفة (4)، مصفوفة (5)
مثال آخر:
رمز البرنامج
استرداد هذه المصفوفة(2,5)
في الواقع، تم تعريف مصفوفة ثنائية الأبعاد (2+1)*(5+1)=1 8.
في هذه الحالة، هل يمكننا تعريف مصفوفة تحتوي على عنصر واحد فقط بشكل لا لبس فيه؟ الجواب هو: لا.
كما ذكر من قبل،
رمز البرنامج
استرداد هذه المصفوفة(1)
يحتوي المصفوفة المحددة في الواقع على عناصر مصفوفة (1+1)، ولكنها تبدو كما يلي:
رمز البرنامج
استرداد هذه المصفوفة(0)
بناء الجملة خاطئ. ولذلك، لا يمكنك تعريف صفيف بعنصر صفيف واحد فقط. في الواقع، ما هو مذكور أعلاه هو مجرد حالته الافتراضية. في الواقع، عند تعريف مصفوفة، يمكنك تحديد عدد المصفوفات وحتى أرقام البداية والنهاية للمشتركين عن طريق تحديد بداية ونهاية المشتركين. على سبيل المثال:
رمز البرنامج
استرداد هذه المصفوفة (1980 إلى 1990)
يتم تعريف مصفوفة تحتوي على 11 عنصرًا، مع اشتراكات من عام 1980 إلى عام 1990.
3. حول وظيفة UBOUND
تقوم الدالة UBOUND بإرجاع الحد الأقصى للخط السفلي لمصفوفة أحادية البعد، وليس عدد العناصر. على سبيل المثال:
رمز البرنامج
خافت Myarray(5)
،لذا
رمز البرنامج
UBOUND(Myarray)
القيمة التي تم إرجاعها هي 5 وليس 6. يمكن أيضًا تطبيق UBOUND على المصفوفات ثنائية الأبعاد. عند تطبيقها على مصفوفة ثنائية الأبعاد، فإنها تُرجع الحد الأقصى لقيمة الفهرس الأول.
على سبيل المثال:
رمز البرنامج
مصفوفة خافتة(6,3)
، لذا
رمز البرنامج
UBOUND(Myarray)
القيمة التي تم إرجاعها هي 6، وليس 7، ناهيك عن 18 (6*3=18).
لإرجاع الحد الأقصى لقيمة الحرف الثاني، استخدم:
رمز البرنامج
UBOUND(Myarray,2)
.
المقابلة لـ UBOUND هي دالة أخرى: LBOUND، والتي تُرجع الحد الأدنى للصفيف. كما هو الحال مع UBOUND، تُرجع الدالة LBOUND(Myarray,2) الحد الأدنى لقيمة الحرف الثاني من الصفيف MYARRAY. لذا، على وجه الدقة، عدد عناصر المصفوفة أحادية البعد Myarray هو:
رمز البرنامج
UBOUND(Myarray)-LBOUND(Myarray)+1
، وعدد عناصر المصفوفة ثنائية الأبعاد هو:
رمز البرنامج
(UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1)
http://www.knowsky.com/
المصفوفات متعددة الأبعاد وما إلى ذلك.
4. تعريف المصفوفة
رمز البرنامج
DimMyArray
MyArray = صفيف (1,5,123,12,98)
مجموعة قابلة للتوسيع
رمز البرنامج
ديميأراي ()
لأني = 0 إلى 10
Redim الاحتفاظ بـ MyArray(i)
MyArray(i)=i
التالي
يقسم سلسلة ويعيد مجموعة من النتائج المقسمة
رمز البرنامج
DimMyArray
MyArray = سبليت(tempcnt,chr(13)&chr(10))
لأنني = Lbound(MyArray) إلى Ubound(MyArray)
Response.Write MyArray(I) & <br>
التالي
5. وظيفة فرز المصفوفات
رمز البرنامج
فرز الدالة (اري)
KeepChecking = صحيح
افعل ذلك حتى KeepChecking = FALSE
KeepChecking = خطأ
لأنني = 0 إلى UBound(ary)
إذا كنت = UBound(ary) ثم قم بالخروج لـ
إذا ary(I) > ary(I+1) ثم
القيمة الأولى = آري (I)
القيمة الثانية = آري (I+1)
آري (I) = القيمة الثانية
آري(I+1) = القيمة الأولى
KeepChecking = صحيح
نهاية إذا
التالي
حلقة
فرز = آري
وظيفة النهاية
مثال على تطبيق دالة فرز المصفوفات
رمز البرنامج
DimMyArray
MyArray = صفيف (1,5,123,12,98)
MyArray = فرز (MyArray)
لأنني = Lbound(MyArray) إلى Ubound(MyArray)
Response.Write MyArray(I) & <br>
التالي
6. استخدم المصفوفات في التطبيق والجلسة
رمز البرنامج
التطبيق.القفل
التطبيق (StoredArray) = MyArray
التطبيق.فتح
LocalArray = التطبيق (StoredArray)
الكتابة فوق المصفوفة في التطبيق
رمز البرنامج
التطبيق.القفل
التطبيق (StoredArray) = LocalArray
التطبيق.فتح
استخدام الجلسة هو نفس التطبيق
7. استيراد البيانات من قاعدة البيانات إلى المصفوفة
غالبًا ما أستخدم هذه الطريقة في التكامل الوظيفي للكود.
رمز البرنامج
DimMyArray
الحصول على كافة السجلات
MyArray = RS.GetRows
احصل على أول 10 سجلات
MyArray = RS.GetRows(10)
للصف = 0 إلى UBound(MyArray, 2)
للعمود = 0 إلى UBound(MyArray, 1)
الاستجابة.اكتب (عمود، صف) و<br>
التالي
التالي