|
دليل استخدام إجراءات VBAppAss.dllللمبرمجين بلغة Visual Basic 6.0 |
الحصول على رقم عنصر في مصفوفة ثنائية الأبعاد إذا تم ترقيم عناصرها ترقيماً تسلسلياً بدايةً من العنصر الواقع في الصف الأول و العمود الأول، و انتهاءً بالعنصر الواقع في الصف الأخير و العمود الأخير.
الصيغة:
Function ElementOrder(ColCount As Long, Row As Long, Col As Long, Optional Row1 As Long = 1, Optional Col1 As Long = 1) As Long
الصنف:
TNumber.
الوسائط (Parameters):
| ColCount | عدد الأعمدة في المصفوفة (البعد الثاني). | |
| Row | رقم الصف. | |
| Col | رقم العمود. | |
| Row1 | رقم الصف الأول (بداية البعد الأول). الافتراضي 1. | |
| Col1 | رقم العمود الأول (بداية البعد الثاني). الافتراضي 1. |
الشرح:
في بعض البرامج - كالألعاب مثلاً - قد تحتاج أحياناً إلى معالجة عناصر مصفوفة ثنائية الأبعاد و كأنها مرقمة ترقيماً تسلسلياً بدايةً من العنصر الواقع في الصف الأول و العمود الأول، و انتهاءً بالعنصر الواقع في الصف الأخير و العمود الأخير (إذا اعتبرنا أن البعد الأول يمثل الصفوف و البعد الثاني يمثل الأعمدة)، كما في هذين المثالين:
| 1 | 2 | 3 | 4 | 5 | |||||||||||||||||||||
| 1 |
| ||||||||||||||||||||||||
| 2 | |||||||||||||||||||||||||
| 3 | |||||||||||||||||||||||||
| 4 | |||||||||||||||||||||||||
| -2 | -1 | 0 | 1 | 2 | |||||||||||||||||||||
| 5 |
| ||||||||||||||||||||||||
| 6 | |||||||||||||||||||||||||
| 7 | |||||||||||||||||||||||||
| 8 | |||||||||||||||||||||||||
نلاحظ أن العنصر المظلل يحمل الرقم التسلسلي 14. و في كل الأحوال الدالة تبدأ الترقيم دائماً بالرقم 1.
الاستخدام:
Dim ObjNumber As New TNumber
Dim Index As Long
' للحصول على الرقم 14 الذي يمثل البند المظلل في المصفوفة الأولى:
Index = ObjNumber.ElementOrder(5, 3, 4, 1, 1)
' أو هكذا بإهمال البارامترين الأخيرين لأن القيمة الافتراضية لكليهما هي 1:
Index = ObjNumber.ElementOrder(5, 3, 4)
' للحصول على الرقم 14 الذي يمثل البند المظلل في المصفوفة الثانية:
Index = ObjNumber.ElementOrder(5, 3, 4, 5, -2)
' حيث نحتاج إلى تحديد رقم الصف الأول (بداية البعد الأول) و رقم العمود الأول (بداية البعد الثاني).
انظر أيضاً:
الروتين GetRowAndCol