دليل استخدام إجراءات VBAppAss.dll

للمبرمجين بلغة Visual Basic 6.0


الروتين GetRowAndCol

تحديد رقم الصف و رقم العمود لعنصر في مصفوفة ثنائية الأبعاد بمعلومية ترتيبه فيها.


الصيغة:

Sub GetRowAndCol(ItemOrder As Long, RowCount As Long, ColCount As Long, ByRef Row As Long, ByRef Col As Long, Optional Row1 As Long = 1, Optional Col1 As Long = 1)


الصنف:
TNumber.


الوسائط (Parameters):

ItemOrder ترتيب العنصر في المصفوفة (باعتبار أن العنصر رقم 1 هو العنصر الواقع في الصف الأول و العمود الأول)
RowCount عدد الصفوف في المصفوفة (البعد الأول).
ColCount عدد الأعمدة في المصفوفة (البعد الثاني).
Row بارامتر ممرر بالمرجع (ByRef) حيث سيتم تخزين رقم الصف.
Col بارامتر ممرر بالمرجع (ByRef) حيث سيتم تخزين رقم العمود.
Row1 رقم الصف الأول (بداية البعد الأول). الافتراضي 1.
Col1 رقم العمود الأول (بداية البعد الثاني). الافتراضي 1.

الشرح:
في بعض البرامج - كالألعاب مثلاً - قد تحتاج أحياناً إلى معالجة عناصر مصفوفة ثنائية الأبعاد و كأنها مرقمة ترقيماً تسلسلياً بدايةً من العنصر الواقع في الصف الأول و العمود الأول، و انتهاءً بالعنصر الواقع في الصف الأخير و العمود الأخير (إذا اعتبرنا أن البعد الأول يمثل الصفوف و البعد الثاني يمثل الأعمدة)، كما في هذين المثالين:

 12345
1
12345
678910
1112131415
1617181920
2
3
4

 -2-1012
5
12345
678910
1112131415
1617181920
6
7
8

فإذا كنا نعرف الرقم التسلسلي لعنصر ما (مثلاً العنصر المظلل الذي يحمل الرقم التسلسلي 14) و نريد معرفة رقم الصف و رقم العمود اللذين يقع فيهما هذا العنصر فإنه يمكننا استدعاء الإجراء GetRowAndCol كما هو مبين في الاستخدام أدناه. في كل الأحوال يعتبر الإجراء أن الترقيم يبدأ دائماً بالرقم 1.


الاستخدام:

Dim ObjNumber As New TNumber
Dim Row As Long, Col As Long

' للحصول على صف و عمود العنصر رقم 14 (البند المظلل) في المصفوفة الأولى:
ObjNumber.GetRowAndCol(14, 4, 5, Row, Col, 1, 1)
' أو هكذا بإهمال البارامترين الأخيرين لأن القيمة الافتراضية لكليهما هي 1:
ObjNumber.GetRowAndCol(14, 4, 5, Row, Col)

' للحصول على صف و عمود العنصر رقم 14 (البند المظلل) في المصفوفة الثانية:
ObjNumber.GetRowAndCol(14, 4, 5, Row, Col, 5, -2)
' حيث نحتاج إلى تحديد رقم الصف الأول (بداية البعد الأول) و رقم العمود الأول (بداية البعد الثاني).


انظر أيضاً:
الدالة ElementOrder


بداية الصفحة