المصفوفات Arrays

73772.png
 
اليوم باذن الله سنقوم بشرح المصفوفات
(المصفوفات)Arrays
Arrays (المصفوفات) : يتم التخزين في المصفوفة باحجام ثابتة و متتابعة و تكون العناصر من نفس النوع يعني مثل (string , integer ) يتم استخدام Arrays (المصفوفة) في تخزين البيانات و سهولة الترتيب الاكواد و اختصارها و يستخدمها المبرمجين في المشاريع الكبيرة .
وتعريف أبسط : هي عبارة عن مجموعة من المتغيرات من نفس النوع مخزنه في مصفوفة
نروح لمثال لتطبيق عدد من المتغيرات String
كالاتي

        Dim aa As String
        Dim bb As String
        Dim cc As String
        Dim dd As String
        Dim ee As String
        Dim ff As String
        Dim gg As String

        aa = "ياسر"
        bb = "محمد"
        cc = "اسيل"
        dd = "ابو البراء"
        ee = "ابو يوسف"
        ff = "الفلاحجي"
        gg = "عبد العزيز"
الكود السابق هو الاعلان عن متغيرات متعددة من نوع استرنج وتم تعريفهم باسفلهم
طيب اللي فات متغيرات واحنا أخدناها من قبل طيب ايه نظام المصفوفات دي
نشوف الكود التالي

        Dim aa(6) As String

        aa(0) = "ياسر"
        aa(1) = "محمد"
        aa(2) = "اسيل"
        aa(3) = "ابو البراء"
        aa(4) = "ابو يوسف"
        aa(5) = "الفلاحجي"
        aa(6) = "عبد العزيز"
الكود اللي فات دا بيعبر عن مصفوفه بسيطة تتكون من سبع عناصر مع العلم اننا قمنا بتحديد العدد 6 في الاعلان ؟؟؟؟
لانه المصفوفة بتبدأ من الصفر كما ظهر في التعريف اسفل الاعلان
وممكن نكتبها بطريقة اخرى ايضا مثل الكود التالي
 Dim aa() As String = {"ياسر", "محمد", "اسيل", "ابو البراء", "ابو يوسف", "الفلاحجي", "عبد العزيز"}
انا هنا لم احدد عدد العناصر داخل المصفوفة وسيبنا الاقواس مقفوله بدون رقم ولكن قمنا بتعريفها بجانب الاعلان
وهي بنفس الاعداد بترتيبهم من جانب علامة يساوي يعني الطريقة دي هي نفس اللي فوقها
نستطيع اختبار النتيجة  عن طريق عمل تكست بوكس واحد  وزر للاختبار ونضع الكود 
التالي داخل الزر لاظهار النتيجة في التكست بوكس

TextBox1.Text = aa(0)
ايه اللي هيظهر لما نطبق الكود دا هيظهر لينا ياسر في كلتا الحالتين السابقتين من كتابة المصفوفة
طيب المصفوفه اللي اخدناها دي تعتبر مصفوفة ذات البعد الواحد
مصفوفة الone dimensional (البعد الواحد) 
ودي صورة توضيحية  لكيفية عملها

zzzzzzzzzzz.PNG

وتستطيع تغيير الارقام في الكود التالي كما هي موضحه بالصور واشوف النتيجة
'اكتب واحد من الاسطر الاتية كل مره وشوف النتيجة
TextBox1.Text = aa(0)
TextBox1.Text = aa(1)
TextBox1.Text = aa(2)
TextBox1.Text = aa(3)
TextBox1.Text = aa(4)
TextBox1.Text = aa(5)
TextBox1.Text = aa(6)
طيب دي مصفوفة مكونة من صف واحد فقط ازاي نقدر نحدد صفوف اكتر ودا في القسم الثاني من شرحنا

المصفوفة ذات البعدين
Two dimensional (البعدين)
وهذه المصفوفة تتميز بتخزين  اعمدة وصفوف  متعددة طبعا اخواتنا عارفين في الاكسيل ان موجود صفوف واعمدة ولما نحدد خلية عن طريق كود برمجي بنحددها كدا
Cells(1, 2).Select
rrrrrrrrttttt.PNG
يبقي الخلية كما بالصورة هي المحددة بالكود هتفهموا الصورة دي  يبقي كدا عرفنا المصفوفة ذات البعدين
طيب نشوف كود المصفوفة دي بيتكتب ازاي
        Dim aa(2, 3) As String

        aa(0, 0) = "ياسر"
        aa(0, 1) = "محمد"
        aa(0, 2) = "اسيل"
        aa(0, 3) = "ابو البراء"
        '--------------------
        aa(1, 0) = "ابو يوسف"
        aa(1, 1) = "الفلاحجي"
        aa(1, 2) = "عبد العزيز"
        aa(1, 3) = "ياسر1"
        '---------------------
        aa(2, 0) = "ياسر2"
        aa(2, 1) = "ياسر3"
        aa(2, 2) = "ياسر4"
        aa(2, 3) = "ياسر5"

        TextBox1.Text = aa(2, 1)
ركزو معايا المفروض دي عبارة عن ثلاثة صفوف واربعة اعمدة وبنعلن عنها كدا (2,3) لان الصفر عندنا يعتبر عمود وصف
طيب الكود السابق دا  التكست بوكس1 الناتج هيكون ايه ؟؟؟؟؟؟؟ هيطلع ياسر3
طيب صور توضيحية عشان نتأكد
xxxxxxxx.PNG
الجدول السابق بيبين لينا تقاطع الصفوف مع الاعمدة والارقا موضحه بالجدول العلوي والاسفل منه يوضح البيانات الموجودة بداخل الجدول مثلا
طيب نشوف الصورة دي
asdasdasd.PNG
ياريت تكون الصورة وضحت اكتر بالنسبة للمصفوفات من نوع المتعددة الابعاد
Arrays Multi dimension
وممكن نكتبها بالطريقة الاخرى هكذا
        Dim aa(,) As String = {{"ياسر", "محمد", "اسيل", "ابو البراء", "ابو يوسف", "الفلاحجي", "عبد العزيز"}, {"1", "2", "3", "4", "5", "6", "7"}, {"8", "9", "10", "11", "12", "13", "14"}}

        TextBox1.Text = aa(0, 2)
نيجي نشوف نتيجة الكود دا ايه هي الاول لازم نعرف ان كل اقواس مغلقة تعتبر صف يبقي عندنا كام صف ثلاثة وست اعمدة لان لدينا ست قيم في كل صف
طيب التكست بوكس اللي في الكود هتساوي ايه
اولها  الصف وهو صفر يعني الصف الاول والثاني العمود ورقمة 3 يعني القيمة الرابعة  لان الصفر يعتبر واحد وهي "أسيل" طبعا الكود معكوس هنا لما تنسخ وتحط داخل البرنامج هتوضح معاك
ارجو أن أكون قد وفقت في الشرح .
 رابط الموضوع في منتديات اوفيسنا

رابط سلسلة الدروس
 

 في امان الله .
تقبلو تحياتي
ياسر العربي
يتبع

1 التعليقات:

اخي الكريم
ممكن وضع لنا فايل اكسيل فيه مثال حي لمصفوفة مثلا شهور مع مبيعات من نوع بضاعة مثلا


الإبتساماتإخفاء