المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : AS3: المصفوفات Array & Vector


خادم المسلمين
30-05-2014, 02:34 PM
السلام عليكم ورحمه الله وبركاته


عندما تعمل على بيانات كثيره من أفضل أن تجد طريقه لتنظيم وترتيب هذه البيانات حتى تتمكن من الوصول إليها بسهوله. وهذه الطريقة هي باستخدام المصفوفات. لنفترض أننا نريد تحميل 50 صوره في البرنامج. أليس من الأفضل أن نقوم بتخزين اسماء هذه الصور بطريقه منظمه أليس كذلك ...؟! باستخدام المصفوفات نستطيع فعل ذلك أحد هذه المصفوفات يطلق عليها اسم Array ويمكن تعريف هذا النوع من المصفوفات بنفس الطريقة التي نعرف بها المتغيرات وذلك بكتابه كلمه var ثم مسافه بعدها نكتب اسم المتغير ولتكن thumbnails ونوع هذا المتغير هو Array ثم مسافه ونضع علامه يساوي ثم مسافه وأخيراً نكتب new Array(); لإنشاء المصفوفة. والآن بإمكاننا إضافة القيم إلى المصفوفة وذلك بالانتقال لسطر جديد ثم نكتب اسم المصفوفة وهي thumbnails ثم نقطه ونكتب الأمر push وهو يقوم بإضافة قيمة إلى المصفوفة. وبداخل قوسين سوف نقوم بإضافة العنصر أو القيمة التي نريد إضافتها ولتكن مثلاً (“image1.jpg”); وبالمثل بإمكانك إضافة الصورة الثانية والثالثة ...الخ. ليكون الأمر بالنهاية بالشكل التالي:

var thumbnails:Array = new Array();
thumbnails.push(“image1.jpg”);
thumbnails.push(“image2.jpg”);
thumbnails.push(“image3.jpg”);
في الحقيقة هي إحدى الطرق لإنشاء المصفوفة هناك طريقه أخرى وهي بكتابه القيم بداخل أقواس الأمر Array دون الحاجه لأمر push ليكون الأمر بالشكل التالي:

var thumbnails:Array = new Array(“image1.jpg”, “image2.jpg”, image3.jpg”);
الأمور سوف تزداد إثارة الآن عندما تعلم أن هناك طريقه ثالثه لإنشاء المصفوفة وهي بالشكل التالي:

var thumbnails:Array = [“image1.jpg”, “image2.jpg”, image3.jpg”];
جميع الطرق السابقة تقوم بإنشاء مصفوفة باسم thumbnails تحمل القيم image1.jpg, image2.jpg & image3.jpg بقي أمر واحد فقط وهو كيف يمكن الوصول أو استخدام أحد هذه القيم ...؟! يمكن الوصول لأحد هذه القيم بسهوله وذلك باستخدام طريقه Array Access Notation ولكن قبل التطرق لهذه الطريقة يجب أن تعلم أن الترقيم أو الفهرسة Index في المصفوفات يبدأ من الرقم صفر هذا يعني أن أول عنصر أو قيمه في المصفوفة سوف يكون رقمها صفر أما القيمة الثانية فهي تحمل الرقم واحد ...الخ. والآن لنبدأ بعرض مثلاً أول قيمة في المصفوفة في نافذة المخرجات Output إذاً لنبدأ أولاً بكتابه الأمر trace ثم نفتح قوس ونكتب اسم المصفوفة thumbnails ثم نفتح قوس آخر ونكتب رقم أو فهرس Index العنصر الأول وهو صفر ثم نقوم بإغلاق القوسين ليكون الأمر في النهاية بهذا الشكل:

var thumbnails:Array = [“image1.jpg”, “image2.jpg”, image3.jpg”];
trace(thumbnails[0]);
الطريقة الأخرى لتخزين بيانات كثيره هي باستخدام نوع آخر من المصفوفات يدعى Vector هذا الأمر يعمل فقط بدءاً من مشغل الفلاش الإصدار العاشر ما فوق. الفريق الوحيد بين الـ Array و الـ Vector هو أن Array بإمكانها تخزين بيانات بأنواع مختلف قد تكون بعض هذه البيانات جمل String والبعض الآخر أرقام Number بينما في Vector يجب أن تكون جميع البيانات أما جمل String أو أرقام Number. وبإمكاننا إنشاء هذا النوع من المصفوفات بتعريف متغير من نوع Vector وذلك بكتابه كلمه var ثم مسافه ونكتب اسم المتغير وهو thumbnails هناك يجب أن نحدد نوع البيانات التي سوف تحملها أو تقوم بتخزينها هذه المصفوفة لذلك نضع نقطه ونكتب نوع البيانات بين علامتي < > وليكن String ثم مسافه ونضع علامه يساوي ثم مسافه ونكتب كلمه new ثم مسافة ونكتب الأمر Vector بالإضافة لنوع البيانات ثم نفتح قوس ونقوم بإغلاقه ليكون الأمر في النهاية بهذا الشكل:

var thumbnails:Vector.<String> = new Vector.<String>();
يمكن بعد ذلك اسناد القيم لهذا النوع من المصفوفات بنفس الطريقة السابقة.
المهم هنا يجب أن تعلم أن المصفوفات هي الطريقة المثالية لتنظيم البيانات لكي تستطيع الوصول إليها بسهولة وسوف نعتمد في هذه الدروس على استخدام Array لأنها أسهل ويمكن أن تحمل أكثر من نوع من البيانات...

فرح صالحي
30-05-2014, 04:21 PM
http://im53.gulfup.com/ZkUhRt.gifhttp://im53.gulfup.com/ZkUhRt.gif

الحارث بن فيصل
30-05-2014, 06:59 PM
خالص الشكر والامتنان على ما بذلتموه من جهود مباركة في إعداد هذا العمل


وفقكم الله وأثابكم ونفع بكم

أبو يوسف
31-05-2014, 03:58 PM
جزاكم الله خيرا أخانا خادم المسلمين

موفق بإذن الله ... لك مني أجمل تحية .

أبو صخر
31-05-2014, 09:23 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

abohmam
01-06-2014, 01:10 AM
جزاك الله خيرا أخى خادم المسلمين

بارك الله في جهودك

أبو فارس
06-06-2014, 11:52 AM
موفق بإذن الله ... لك مني أجمل تحية .

خادم المسلمين
15-09-2016, 06:51 PM
موفقين ان شاء الله