بسم الله الرحمن الرحيم
درس اليوم بعنوان
الحلقات التكرارية iterations & looping
يعني ايه iterations & looping ويعني ايه حلقات تكرارية من الاصل
الحلقات التكرارية في الاصل هي تكرار امر معين عدد من المرات كثيرا ما نحتاج في برامجنا تكرار بعض الاوامر عدد من المرات المحددة او الغير محددة
يعني مثلا اقول لحبيبي ابو البراء قول ارنبنا فى منور انور وأرنب أنور فى منورنا عشر مرات مثلا
كدا انا حددت عدد التكرار هنا عشر مرات دا ان عرف يعني يقولهم او حتى اخي احمد الفلاحجي
هنا بقي نقول ان دي جمله تكرارية محددة او معروفة وتندرج تحت الاسم iterations
طيب لو قلت لابو البراء قول بسيطه وماتستبسطهاش وصعبه وماتصتصعبهاش لحد ما يبان لك صاحب ههههههه
كدا اول واحد هيظهر ويتعاطف مع الموقف حبيبي ابو يوسف ويقولي حرام عليك واخي الغالي عبد العزيز هيقول اشيل عنه شوية والفلاحجي هيستخبى
طيب من المثال اللي فات فهمنا ايه انه لازم يفضل يعيد الجملة لحد ما يبان له صاحب
يعني هنا حطينا شرط لايقاف الحلقة
يبقي كدا اسمها جملة تكرارية شرطية وتندرج تحت الاسم looping
ومن الامثلة السابقة نقدر نقسم الحلقات التكرارية المحددة والشرطية كما بالاسفل
iterations
For.........Next
For.........Each
looping
Do.........Loop
Do...........While
Do...........Until
While
ناخد مثال على الجز الاول وهو iterations
For.........Next
وتكتب هكذا
For i = 1 To 10
MsgBox(i)
Next
نوضح الجمله اولا بدأنا الجملة بكلمة محجوزة For وبعدها حرف i وهو هنا يسمي بالمتغير وبالاصح العداد المتغير
وبعدها = تساوي ايه بقي تساوي القيمة الابتدائية للمتغير to القيمة النهائية للمتغير والتي اذا وصل لها توقف عن العمل ونختتم الكود ب Next للتكرار حتى نهاية القيمة
يبقي المثال اللي فات ايه اللي هيحصل فيه لما نشغله
هيظهر لينا رسائل متتاليه من 1 الى 10 وبعدها تتوقف لانتهاء عمل الكود
طيب لو احنا محتاجين زيادة بمقدار مختلف يعني مثلا يزيد كل مره رقمين مش واحد زي ما موجود
يعني بدل ما يبقي 1 2 3 4 5 6 7 8 9 10
يبقي كدا مثلا 1 3 5 7 9 وطبعا مش هيجيب ال10 لان مسافتها من بعد ال9 رقم واحد يبقي هيتوقف عند ال9 فقط
ازاي نعمل الكود دا نشوف
For i = 1 To 10 Step 2
MsgBox(i)
Next
زودنا هنا كلمة step 2 وهنا يعني مقدار الخطوة 2 للمتغير
طيب ينفع بدل ما ازود انقص مثلا اه تمام ينفع نعكس العمليه
For i = 10 To 1 Step -1
MsgBox(i)
Next
يعني ايه الكود السابق يعني المتغير يفضل يقل من 10 لحد 1 بمقدار -1
طيب احنا هنقضيها مقدار ارقام لا ممكن نعلن عن متغيرات تحمل الارقام دي ازاي بقي
Dim x As Byte = 1
Dim y As Byte = 10
For i = x To y
MsgBox(i)
Next
اظن كدا واضحة لينا احنا اعلنا عن متغيرين من نوع بايت واحد قيمته1 والتاني 10
ونستطيع ان نربط المتغير بتكست بوكس مثلا اذا كانت القيمة هنحددها من على الفورم واحنا شغالين
ندخل بعد كدا على الFor Each
بنستخدم امتى الفور ايتش دي
بنستخدمها مع الكولكشن زي المصفوفات كدا مثلا
هناخد المصفوفات دي بس بعدين المهم هنعرف ازاي نعلن عنها ونعرفها في الجملة فور ايتش في المثال التالي
Dim myarr() As String = {"الفلاحجي", "ابو البراء", "ابو يوسف", "البسكري", "ياسر العربي"}
For Each i In myarr
MsgBox(i)
Next
هنا اعلنا عن مصفوفه من نوع استرنج نصي يعني وعرفناها بما هو مكتوب بين الاقواس
وبعدها جينا لجملة التكرار For Each
ووضعنا متغير i بيساوي المصفوفة myarr
الكود السابق عند تطبيقه سيعرض لنا الاسماء الموجودة بالمصفوفة على التوالي داخل رسالة وعند الانتهاء من كل محتويات المصفوفة يتوقف عمل الكود
زي ما بنعملها في الاكسيل كدا مثلا
Dim rng As Range
For Each rng In Sheet1.Range("a1:a100")
rng = "الله اكبر"
Next rng
هنا بنعلن عن متغير rng وحددنا له مساحة يشتغل داخلها من الخلية a1 :a100 ونقدر نطبق على هذا النطاق ما نريده
مثلا نحدد المتغير ونقول انه المتغير هيكون قيمته
الله اكبر
ونطاق الحلقة التكرارية هو 100 خليه يبقي كلهم هيتكتب فيهم
الله اكبر
ولحد هنا نتوقف ونكمل باذن الله باقي الدرس قريبا
تقبلو تحياتي
ياسر العربي
يتبع
الإبتساماتإخفاء