تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
المصفوفات درس شامل (1)
#1
كاتب الموضوع : المعرب


المصفـــوفـات



المصفوفات :- عبارة عن مجموعة من المتغيرات لها نفس الاسم وكل هذه المتغيرات لها نفس النوع ويمكنك التمييز بين مجموعة المتغيرات التى تحتويها المصفوفة باستخدام رقم المتغير بداخلها وتلاحظ أن أول عنصر فى المصفوفة يبدأ بالعنصر صفر والثانى بواحد ...وهكذا ولكن إذا أردت أن يكون ترتيب العناصر داخل المصفوفة ترتيبا طبيعيا بمعنى أن العنصر الأول يأخذ الرقم 1 والثانى 2 .....وهكذا يمكنك استخدام الأمرOption Base فى قسم الإعلان العام General Declaration لوحدة برمجية Module مثل
Option Base 1



المصفوفـة ذات البعـد الواحـد







وتتكون المصفوفة ذات البعد الواحد من صف واحد لمجموعة من المتغيرات
الإعلان عن ٌٌالمصفوفات
· المصفوفات ثابتة الحجم ( Fixed Size Array )
فى المصفوفات ثابتة الحجم يتم تحديد عدد العناصر التى ستتعامل معها المصفوفة وبذلك يتم حجز مكان فى الذاكرة بعدد العناصر الذى تم الإعلان عنهم من خلال الإعلان عن المصفوفة .
يمكنك الإعلان عن المصفوفات الثابتة الحجم بطريقتين مختلفتين
الطريقة الأولى :- باستخدام متغير واحد
Dim | Public | Private ArrayName(Subscript) As DataType
· Dim , Public , and Private تستخدم هذه الكلمات داخل الـVB للإعلان عن المصفوفات ومدى استخدامها داخل البرنامج فعند استخدام Dim فتعبر المصفوفة متاحة بداخل الإجراء فقط الذى تم الإعلان عن المصفوفة بداخله ، أما استخدام Public فى الإعلان عن المصفوفة يجعل هذه المصفوفة متاحة لأى مكان فى البرنامج أن يتعامل مع هذه المصفوفة ، أم استخدام كلمة Private تشبه استخدام كلمة Dimفى تعريف المصفوفة فهى لا ترى إلا فى الجزء الذى تم الإعلان عنه للمصفوفة حتى وإن تم الإعلان عنها فى قسم الإعلان العام General Declaration .
· ArrayName عبارة عن اسم المصفوفة .
· Subscript عبارة عن أقصى قيمة لعدد العناصر التى ستتعامل معها هذه المصفوفة وغالبا ما تبدأ المصفوفة بالعنصر 0 فمثلا إذا كانت المصفوفة تحتوى على 5 عناصر يتم وضع Subscript = 4 .
· As من ضمن الكلمات المستخدمة فى الـ VB فى أثناء الإعلان عن المتغير .
· DataType وتستخدم لتحديد نوع المتغير الذى سيتم التعامل معه مثل ( Integer ,Double ,String,……etc )
مثال :- للإعلان عن مصفوفة تتكون من خمس عناصر وهذه العناصر من النوع العددى فتكتب بالصيغة التالية :-
Dim MyArray(4) As Integer
ولإدخال العناصر التى تحتويها هذه المصفوفة يتم إدخالها كما بالشكل
MyArray(0) = 9MyArray(1) = 342MyArray(2) = 2746MyArray(3) = 0MyArray(4) = 8901وإذا أردت تغيير قيمة معينة لعنصر ما يمكنك عمل ذلك بتحديد رقم العنصر كما يلى
MyArray(3) = 15

الطريقة الثانية :- باستخدام كلمة To
Dim MyArray(1 To 5) as Integerومن خلال هذه الطريقة يجعلك تبدأ المصفوفة بأى عنصر آخر غير العنصر صفر ففى هذا المثال تبدأ المصفوفة بالعنصر 1 .· المصفوفات متغيرة الحجم ( Dynamic Array ) فى هذا النوع من المصفوفات لم يتم تحديد عدد العناصر التى تحتويها المصفوفة عند الإعلان عنها ويتم استخدام هذا النوع من المصفوفات فى حالة عدم معرفة عدد العناصر التى ستحتاجها .ويمكنك الإعلان عن المصفوفات المتغيرة الحجم كما يلى :-Dim | Public | Private ArrayName( ) As DataType

· :Dim , Public , and Private تستخدم هذه الكلمات داخل الـVB للإعلان عن المصفوفات ومدى استخدامها داخل البرنامج فعند استخدام Dim فتعبر المصفوفة متاحة بداخل الإجراء فقط الذى تم الإعلان عن المصفوفة بداخله ، أما استخدام Public فى الإعلان عن المصفوفة يجعل هذه المصفوفة متاحة لأى مكان فى البرنامج أن يتعامل مع هذه المصفوفة ، أم استخدام كلمة Private تشبه استخدام كلمة Dim فى تعريف المصفوفة فهى لا ترى إلا فى الجزء الذى تم الإعلان عنه للمصفوفة حتى وإن تم الإعلان عنها فى قسم الإعلان العام General Declaration .
· :ArrayName عبارة عن اسم المصفوفة .
· :As من ضمن الكلمات المستخدمة فى الـ VB فى أثناء الإعلان عن المتغير .
· :DataType وتستخدم لتحديد نوع المتغير الذى سيتم التعامل معه مثل ( Integer ,Double ,String,……etc )

تغيير عدد العناصر فى المصفوفة يمكنك تغيير عدد العناصر الموجودة بالمصفوفة باستخدام كلمة ReDim وتأخذ الصيغة التالية :-ReDim [Preserve] Array Name (Subscript) As DataType
· ReDim تستخدم هذه الكلمة داخل الـVB للإعلان عن المصفوفات التى تريد تغيير العناصر بها
· Preserve وهذه الكلمة اختيارية وتستخدم لحفظ المكان بالعناصر التى تم إدخالها بالمصفوفة من قبل وفى حالة عدم كتابة هذه الكلمة يجعل جميع عناصر المصفوفة تأخذ القيمة صفر فى حالة إذا كانت المصفوفة من النوع العددىInteger أو خالية " " إذا كانت من النوع الحرفى String ....وهكذا
· ArrayName عبارة عن اسم المصفوفة .
· Subscript عبارة عن عدد العناصر التى ستتعامل معها هذه المصفوفة فمثلا إذا كانت المصفوفة تحتوى على 5 عناصر يتم وضع رقم 4 بداخل هذا الجزء لأن أول عنصر فى المصفوفة يبدأ بصفر .
· As من ضمن الكلمات المستخدمة فى الـ VB فى أثناء الإعلان عن المتغير .
· DataType وتستخدم لتحديد نوع المتغير الذى سيتم التعامل معه مثل ( Integer ,Double ,String,……etc )
مثال:- لتغيير عدد العناصر التى تحتويها المصفوفة السابقة لجعلها تحتوى على 6 عناصر يمكنك استخدام الأمر ReDim كما يلى :-Dim MyArray(4) As Integer
MyArray(0) = 9MyArray(1) = 342MyArray(2) = 2746MyArray(3) = 0MyArray(4) = 8901ReDim Preserve MyArray (5) As integerMyArray(5) = 5وتلاحظ فى هذا المثال عند إعادة تغير عدد العناصر التى تحتويها المصفوفة باستخدام الأمر ReDim يجب استخدام كلمة Preserve للاحتفاظ بالقيم السابقة التى تحتويها المصفوفة أما عدم كتابة هذه الكلمة يتم تجاهل كل السابق ووضع القيم التى تحتويها المصفوفة بصفر كما يلى :-MyArray(0) = 0MyArray(1) = 0MyArray(2) = 0MyArray(3) = 0MyArray(4) = 0MyArray(5) = 5مثال آخر :- فى هذا المثال يتم استخدام المصفوفة المتغيرة الحجم وتتعامل هذه المصفوفة مع عناصر من النوع String ثم استخدام الأمر ReDim لإعادة تغيير حجم المصفوفة .Dim strMyArray() as StringReDim strMyArray(8)strMyArray(0) = "I am a pitcher."strMyArray(1) = "I am a catcher."strMyArray(2) = "I play first base."strMyArray(3) = "I play second base."strMyArray(4) = "I play third base."strMyArray(5) = "I play shortstop."strMyArray(6) = "I play left field."strMyArray(7) = "I play center field."strMyArray(8) = "I play right field."ReDim Preserve strMyArray(9)strMyArray(9) = "I am the designated hitter."

المصفوفة المتعددة الابعاد :
تابع الدرس القادم (2)






ارجو المعذره من صاحب الموضوع : الاصلي


فأنا لااعرفه ولا اعرف اسمه لكي اذكر عمن كان النقل , فليسامحني اخي الكريم
لاني لم ارغب سوى بالفائدة للإخوان الكرام , اعضاء هذا المنتدى الرائع
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة مهمه فى المصفوفات ali.alfoly 2 800 30-08-13, 02:25 AM
آخر رد: ali.alfoly
  المصفوفات درس شامل (3) RaggiTech 0 484 03-10-12, 12:58 AM
آخر رد: RaggiTech
  المصفوفات درس شامل (2) RaggiTech 1 1,617 03-10-12, 12:57 AM
آخر رد: RaggiTech
  المصفوفات البرامترية Parameter Arrays في VB.Net RaggiTech 0 362 03-10-12, 12:55 AM
آخر رد: RaggiTech
  الفرق بين الدالة BinarySearch و الدالة IndexOf في البحث داخل المصفوفات Arrays RaggiTech 0 607 02-10-12, 08:02 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم