السلام عليكم
كيف يتم تعريف مصفوفة قيود حجمها لا يعرف الا بعد تنفيذ مجموعه عمليات اي كيف يتم حجز لها موقع في الذاكره اثناء تنفيذ البرنامج وكيف يتم تحريره عند الانتهاء منه
و عليكم السلام
تعريف مصفوفة مجهول حجمها
كود :
var
S: array of array of string;
اعطاء حجما لها
كود :
SetLength(S, 5); // المصفوفة ككل تحتوى على خمسة اسطر
SetLength(S[0], 3); // السطر الاول يحتوى على ثلاث اعمدة
تحريرها ان صح التعبير
يوجد درس حول التعامل مع المصفوفات فى دورة دالفى للعرب .
أو للمصفوفة المربعة
أي المصفوفة A تتكون من صفين و ثلاثة أعمدة وذلك يوافق التعريف التالي
كود :
A:array [0..1,0..2] of integer
دليل المصفوفة الديناميكية دائما يبدأ بصفر.
لتحرير المصفوفة من الذاكرة اسند لمتغير المصفوفة قيمة nil التي تعني لا شيء
لأن اسم المصفوفة هو في الواقع مؤشر يؤشر إلى أول موقع في المصفوفة.
أو استعمل الاجراء Finalize
الإجراء setlength يستخدم لحجز عدد خلايا المصفوفة ولا ينهيها من الذاكرة، إعادة استخدامه مع نفس المصفوفة يؤدي إما إلى زيادة عدد عناصرها أو بترها.
ملاحظة: المصفوفة لن يتم تحريرها من الذاكرة اذا كان هناك متغير آخر يؤشر إليها.