إضافة رد

  #1  
قديم 07-04-2012, 04:56 PM
أبو ربيع أبو ربيع غير متواجد حالياً

عضو مشارك

 
تاريخ التسجيل: Aug 2011
المشاركات: 33
افتراضي شرح المصفوفة array - الجزء الأول

بسم الله الرحمن الرحيم..

السلام عليكم ورحمة الله وبركاته..


سأتكلم في هذا الموضوع عن المصفوفة (array).. أحادية البعد..
وهناك جزء آخر بإذن الله للمستويات المتقدمة لهذه المصفوفة..

يندر الكلام عن (array) في المنتديات العربية إن لم يكن معدوماً بالنسبة للـ VB6..
وأعتذر لأخي (<br>) على التأخير.. لأني فعلاً مشغول بالعمل وخارج العمل..

هذا الموضوع هو إهداء لأخي العزيز (السندباد) وأخي العزيز (<br>)..

نبدأ بالدرس..


- نبذة عن المصفوفة :

إن المصفوفة (array) هي أفضل مصفوفة برمجية رأيتها في حياتي وأعتقد أنها عند أغلب المبرمجين إن لم يكن كلهم..
وذلك لبساطتها واختصارها للأكواد.. وسأتكلم في هذا الدرس عن هذه المصفوفة..


- لماذا يستخدم المبرمجون مصفوفة array ؟
يستخدمها الكثير من محترفي البرمجة لإختصار الأكواد وترتيبها وتنظيمها..
في جميع لغات البرمجة وليس الفيجوال بيسك فقط.. وهذه المصفوفة عادةً تستخدم في المشاريع الكبيرة جداً..
نفترض أن لدينا برنامج كبير نبغى نصنعه.. أكيد القيم راح تكون فيه كثيرة.. كيف راح نضيفها برمجياً..؟
أكيد راح نعلن عن متغيرات للقيم.. وبعدها نضيف هذه القيم للمتغيرات.. ومن ثم نستدعيها بالأوامر في البرنامج..
اتركونا من الكلام النظري.. وخلونا نأخذ شيء عملي..

أفترض أني أبغى أصنع برنامج لأسماء الدول العربية وعدد سكان كل دولة..
راح يكون البرنامج تقريباً بهذه الصورة..




والكود هكذا..

كود PHP:
dim a as string
dim b 
as string
dim c 
as string
dim d 
as string
dim e 
as string
dim f 
as string
dim g 
as integer
dim h 
as integer
dim i 
as integer
dim j 
as integer
dim k 
as integer

"السعودية"
"مصر"
"سوريا"
"الكويت"
"اليمن"
"مليون نسمة "
"30"
"100"
"23"
"1"
"20"

text1.text vbnewline b  vbnewline vbnewline vbnewline e
text2
.text vbnewline h  vbnewline vbnewline vbnewline 


أخذت خمس دول كمثال فقط..
ما تلاحظ أن الكود كبير شوي.. هذي خمس دول كيف بباقي الدول العربية الأخرى..؟!
طيب وش رايك نختصر الكود بإدخال المصفوفة (array) عليه..؟؟ أوكي راح نختصره..


- هذه طريقة الإعلان عن متغير يقبل دخول المصفوفة (array) عليه..

كود PHP:
Dim a As Variant 


ركزعلى نوع المتغير (Variant).. هذا النوع يسمح للمصفوفة بالدخول على المتغيرات.. لكي يحمل المتغير أكثر من قيمة..

وسنفرق بين كل قيمة وقيمة بالفهرس..
بعد الإعلان نأتي بالمتغير.. ثم علامة (=) ثم اسم المصفوفة اللي هي (array) ثم قوسين نضع فيها قيم المصفوفة.. ونفصل بين كل قيمة وأخرى بفاصلة (,)..

راح يصير المتغير وقيمه هكذا..


كود PHP:
Dim a As Variant
= Array("السعودية"30"مصر"100"سوريا""23""الكويت"1"اليمن"20" مليون نسمة"


الآن أدخلنا المصفوفة (array) على القيم وأريد أن أطبع قيمة محددة من المصفوفة.. كيف..؟
عليك أن تعرف أولاً ما الذي فعلته المصفوفة بتلك القيم..

بإختصار :لقد وضعت المصفوفة كل قيمة في فهرس محدد.. مبتدئة بالفهرسة من الصفر..

بهذه الصورة :



وعندما تريد قيمة محددة عليك أن تكتب اسم المتغير اللي هو (a).. ثم قوسين ().. وتضع بينهما رقم الفهرس..

- مثلاً أريد طباعة كلمة (السعودية) في مربع نص.. هكذا :


كود PHP:
Text1.Text a(0


وهذا الكود النهائي للبرنامج كامل لمثالنا السابق..

كود PHP:
Dim a As Variant
= Array("السعودية"30"مصر"100"سوريا""23""الكويت"1"اليمن"20" مليون نسمة")
Text1 a(0) & vbNewLine a(2) & vbNewLine a(4) & vbNewLine a(6) & 
vbNewLine a(8)
Text2 a(1) & a(10) & vbNewLine a(3) & a(10) & vbNewLine a(5) & a(10) & 
vbNewLine a(7) & a(10) & vbNewLine a(9) & a(10


وبعد الاختصار النتيجة نفس نتيجة البرنامج السابق.. شوف الصورة..



وإذا بغيت إختصار وتنظيم أكثر.. ما عليك إلا إنك تشغل مخك.. وخذ هذا الاختصار الثاني..

كود PHP:
Dim a As Variant
= Array("السعودية"30"مصر"100"سوريا""23""الكويت"1"اليمن"20" مليون نسمة")
For 
0 To 8 Step 2
Text1 
Text1 a(i) & vbNewLine
Next
For 1 To 9 Step 2
Text2 
Text2 a(y) & a(10) & vbNewLine
Next 


[B]والنتيجة طبعاً نفس النتيجة..


أيضاً تقدر تتحكم بفهرس المصفوفة.. ولكني أجهل طريقة التحكم بها في الفيجوال بيسك..

وأيضاً أريدك أن تلاحظ شيئاً مهماً في قيم هذه المصفوفة.. وهي :
إذا كانت قيمة المصفوفة من نوع نص (String).. فلابد من وضع القيمة بين علامتي تنصيص ("")..
وإذا كانت قيمة المصفوفة من نوع أرقام (Integer).. أو أي نوع من الأرقام.. فإن الأمر لا يضر..
سواء وضعناها بين علامتي تنصيص أم لم نضعها الأمر لا يفرق.. ولو تلاحظ في المثال اللي عطيتك..
قيم المصفوفة الرقمية كلها خالية من علامات التنصيص.. ما عدا قيمة عدد سكان سوريا وضعتها بين علامتي تنصيص.. لتعرف أن الأمر لا يفرق في القيم الرقمية..

وبما أن الكلام يندر عن (array).. والفرصة سمحت لي بالكلام عنها..
فسيكون هناك جزء آخر للمصفوفة (array).. سأوضح فيه كيفية عمل المصفوفة ثنائية البعد.. ومتعددة الأبعاد..
وسأقوم بتوضيح بعض المفاهيم الخاطئة بالنسبة للمصفوفة في المنتديات العربية والتي أخطأ فيها الكثير حتى من محترفي البرمجة بالـ VB6..

وإذا سمحت لي الفرصة أكثر فسأتكلم عن المصفوفة (array).. في لغة PHP ولغة PERL..

والتوفيق حليف الجميع إن شاء الله..




بقلم : مزيد..مرير - أبو ربيع


رد مع اقتباس
  #2  
قديم 07-04-2012, 05:32 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي

ما شاء الله ... جزاك الله خيرا يا غالي


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
إضافة رد


« الموضوع السابق | الموضوع التالي »
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
إسطوانة الفتاوي المرئية الجزء الأول للشيخ ابي اسحاق الحويني khaledbelal روضة البرامج والاسطوانات الاسلامية 1 07-20-2011 11:53 PM
إسطوانة عطر الكلام الجزء الأول للشيخ ابي اسحاق الحويني khaledbelal روضة البرامج والاسطوانات الاسلامية 0 07-20-2011 10:48 PM
التعامل مع Function (الجزء الأول) MOHAMED روضة البرمجة بلغة الـ PHP 0 05-15-2010 06:10 PM
برنامج مصابيح الهدى الجزء الأول والثاني والثالث الفقير الى الله روضة صوتيات ومرئيات القنوات الفضائية 8 05-05-2010 09:04 PM
التعرف على المتغيرات ( الجزء الأول ) MOHAMED روضة البرمجة بلغة الـ PHP 0 04-27-2010 08:03 PM

استضافة الحياة

الساعة الآن 12:09 PM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz