اليوم باذن الله سنقوم بشرح المصفوفات
(المصفوفات)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 (البعد الواحد)
ودي صورة توضيحية لكيفية عملها
وتستطيع تغيير الارقام في الكود التالي كما هي موضحه بالصور واشوف النتيجة
'اكتب واحد من الاسطر الاتية كل مره وشوف النتيجة
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
يبقي الخلية كما بالصورة هي المحددة بالكود هتفهموا الصورة دي يبقي كدا عرفنا المصفوفة ذات البعدين
طيب نشوف كود المصفوفة دي بيتكتب ازاي
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
طيب صور توضيحية عشان نتأكد
الجدول السابق بيبين لينا تقاطع الصفوف مع الاعمدة والارقا موضحه بالجدول العلوي والاسفل منه يوضح البيانات الموجودة بداخل الجدول مثلا
طيب نشوف الصورة دي
ياريت تكون الصورة وضحت اكتر بالنسبة للمصفوفات من نوع المتعددة الابعاد
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 التعليقات:
اخي الكريم
ممكن وضع لنا فايل اكسيل فيه مثال حي لمصفوفة مثلا شهور مع مبيعات من نوع بضاعة مثلا
الإبتساماتإخفاء