الدرس الرابع عشر ...الجمل الشرطية و حلقات التكرار فى الفجوال بيسك 6
صفحة 1 من اصل 1 • شاطر
الدرس الرابع عشر ...الجمل الشرطية و حلقات التكرار فى الفجوال بيسك 6
بسم الله الرحمن الرحيم
الاخوة الافاضل ...السلام عليكم ورحمة الله وبركاتة و مرحبا بكم فى الدرس الرابع عشر من دروس الفجوال بيسك 6 و التى يقدمها منتدى مصر التقنى ....فى هذا الدرس أن شاء الله تعالى سنتعرف سويا عن الجمل الشرطية و حلقات التكرار .......فها بنا نبدأ ,,,,,,,,,,,,,,,,,,
أولا : الجمل الشرطية :
ويقصد بها تنفيذ أمر أو مجموعة من الاوامر بناءاً على تحقيق شرط أو شروط معينة فاذا تحقق هذا الشرط يتم تنفيذ الامر والعكس...أو بمعنى عامى هو أن أقول للبرنامج "لو حصل كذا أفعل الاتى "...و اليكم أهم تراكيب تلك الجمل على النحو التالى :
1 _ الجملة الشرطية IF
تعتبر هذه الجملة من أشهر تراكيب الجمل الشرطية و أكثرها أستعمالا ولها عده أشكال كلها تبدأ بكلمة if و تنتهى بكلمة end if أذا كان الكود فى عدة أسطر ....و أشكالها تأتى على النحو التالى :
الشكل الاول :العبارة IF - Then
هذا الشكل من أبسط أشكال الجملة الشرطية if و التعليمة الخاصة لتلك العبارة يكتب كما فى الصورة التالية :
ففى هذا الشكل البسيط وهو شرط واحد وامر واحد فإن كان الشرط صحيحاً فإن الأمر الذى يلى Then وهو الذى يتم تنفيذه اما إذا كان الشرط خطأ يتم تجاهله ..
مثال عملى ...ضع أداة النص Text1 و زر أمر Command1 أكتب السطر التالي في حدث الزر:
- الكود:
If Text1.Text = "123" Then MsgBox "تم أدخال الرقم السرى"
فى الكود السابق بقول للبرنامج إذا كان النص المكتوب هو '123' عند ذلك أظهر للمستخدم رسالة تخبره بأنه قد تم أدخال الرقم السرى ....ولاحظ أننا لم ننهى الجملة بكملة end if وذلك لاننا كتنبا الكود فى سطر واحد أما لو أننا كتبناه فى عدة أسطر فلابد أن ننهى الجملة بكلمة end if و ذلك على النحو التالى :
- الكود:
If Text1.Text = "123" Then
MsgBox "تم أدخال الرقم السرى"
End If
ويمكنك أيضا وضع أكثر من أمر فى شرط واحد ....كما فى الكود التالى :
- الكود:
If Text1.Text = "123" Then
Beep
MsgBox "تم أدخال الرقم السرى"
End If
فى هذا الشكل شرط واحد وامران حيث اذا كان الشرط صحيح يتم تنفيذ مجموعة من الاوامر التى تلى Then حتى يصل الى End IF ...ففى المثال السابق إذا كان النص المكتوب هو '123' عند ذلك أطلق صفارة خطأ ثم أظهر للمستخدم رسالة تخبره بأنه قد تم أدخال الرقم السرى
ملحوظة : الدالة Beep هى دالة لاطلاق صفار الخطأ كما فى رسائل الويندوذ .
الشكل الثانى : العبارة IF - Then - Else
الشكل العام للتعليمة بأستخدام هذه العبارة تكون على النحو التالى :
ففى هذه الحاله يقوم البرنامج بتقسيم الشرط فإن كان صحيحا ينفذ مجموعة الاوامر التى تلى Then وان كان الشرط غير صحيح نفذ مجموعة الاوامر التى تلى Else حتى يصل الى End IF اى لا بد من تنفيذ احدى المجموعتين.
مثال عملى ....فى مثالنا السابق نجد أن المستخدم لو أدخل الرقم 123 تظهر رسالة تخبره بأنه قد تم أدخال الرقم السري لكن ماذا يحدث لو أن هذا المستخدم أدخل رقم أخر غير المكتوب فى الكود؟ ....لن يحدث أى شىء !!لكن ممكن أن تستخدم كلمة else لو أردنا أن تظهر رسالة أخرى تفيد بأن الرقم السرى خطأ فى حالة كون المستخدم أدخل رقم أخر غير 123 ....وسيكون الكود على النحو التالى :
- الكود:
If Text1.Text = "123" Then
Beep
MsgBox "تم أدخال الرقم السرى"
Else
MsgBox "عفوا الرقم السرى غير صحيح "
End If
ففى المثال السابق إذا كان النص المكتوب هو '123' عند ذلك أطلق صفارة خطأ ثم أظهر للمستخدم رسالة تخبره بأنه قد تم أدخال الرقم السرى...أما أذا كان الرقم المدخل ليس 123 عنئد أظهر رسالة للمستخدم تفيد بأن الرقم السرى غير صحيح .
2 _ جملة Select
جملة Select تشبه تقريباً جملة If إلا أنها تستعمل حالات متعددة وفي كل حالة تكتب تعليمة مختلفة.وفى هذه الحالة يقوم البرنامج بفحص الشرط ثم يتابع احتمالات تحققه فى الحالة الاولى فاذا تم تحقق الشرط يقوم البرنامج بتنفيذ مجموعة الاوامر التى تلى Case حتى كلمة Case التالية واذا لم يتحقق الشرط فى الحالة الاولة يذهب الى الثانية ثم الى الثالثة وهكذا حتى يصل الى Case Else حيث ينفذ الاوامر التى بعدها حتى يصل الى End Select
الشكل العام لهذه الجملة تكون :
- الكود:
Select Case (العنصر)
Case (الحالة)
التعليمة
End select
مثال عملى ...سوف نعمل مثال بسيط لهذه الجملة.قم أضف فورم وأضف الأدوات التالية Text1 ,Label1
Command1
أنقر فوق الزر نقرتين وأكتب الشيفرة التالية:
- الكود:
On Error GoTo b
Dim a As Integer
a = Text1
Select Case a
Case 0 To 10
Label1.Caption = "سيىء"
Case 10 To 40
Label1.Caption = "ضعيف"
Case 40 To 60
Label1.Caption = "وسط"
Case 60 To 80
Label1.Caption = "جيد"
Case 80 To 100
Label1.Caption = "ممتاز"
End Select
Exit Sub
b:
MsgBox "من فضلك أدخل قيمية عددية", vbInformation, "رسالة"
شرج الشيفرة السابقة:
السطر الأول : التصريح عن خطأ أسميناه b
السطر الثاني: التصريح عن متحول عددي صحيح a
السطر الثالث: إسناد النص في Text1 إلى المتحول a
السطر الرابع : إلى End Select بداية التعليمة Select . أي حدد حالات المتحول a في كل حالة عرض تعليمة مختلفة
السطور التي بعد End Select هي عمل الخطأ أي عرض رسالة عند الخطأ . حاول كتابة نص عادي فسوف تظهر لك الرسالة.ولا حظ أنه أنهينا العبارة ب End Select مثل End If
و الى هنا ينتهى الجزء الاول من هذا الدرس ...والى اللقاء فى الجزء الثانى من هذا الدرس وهو عن الحلقات التكراية .....
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: الدرس الرابع عشر ...الجمل الشرطية و حلقات التكرار فى الفجوال بيسك 6
بسم الله الرحمن الرحيم
أهلا وسهلا بكم الاخوان الكرام فى الجزء الثانى من هذا الدرس و هو عن الحلقات التكرارية ...
ثانيا : الحلقات التكرارية
ويقصد بها تكرار مجموعة من الاوامر عدد معين من المرات وهناك ثلاثة تراكيب لعمل ذلك وهى :
ويستخدم هذا التركيب اذا كنت تعرف عدد لمرات التى ترغب فى تكرارها وصياغته كالتالى
ملاحظة ......(a) مجرد وسيط يمكنك تغيره ....واليكم مثال سريع للجملة البسيطة السابقة:
في المثال السابق حددنا القيمة الأولى وهي 0 أي قيمة a ثم حددنا القيمة الثانية وهي 6 .لذلك سوف يتم طباعة الجملة "أحمد مناع "بقيمة a أي خمس مرات.ودائما تنتهي جملة التكرار ب :Next
ويمكنك أن تستخدم للعد الامر Step لزيادة فى كل مرة اختيارية ....ففى مثالثا السابق نفترض أننا نريد طباعة الجملة بشرط أن يكون مقدار العدد هو 2 ....كنتب الكود التالى
فى التمرين السابق يتم طباعة الجملة على النافذة ثلاث مرات فقط وليس 6 لان الفرق بين كل رقم والتالى له 2 أى أن البرنامج سيقوم بالعد على النحو التالى 2 /4 /6 و بالتالى ستكون النتجية ثلاث مرات فقط
ملاحظـات
• يمكن أنهاء الحلقة بعبارة Next بدون ذكر رمز العداد.
• يمكن الخروج من الحلقة بعبارة GOTO أو Exit For.
• لا يمكن الدخول للحلقة ألا من خلال عبارة For.
• لا يجوز تغيير قيمة العداد داخل الحلقة.
يوجد عدة أشكال لهذه الحلقة وهى على النحو التالى :
1_2 : عبارة Do-Loop
تعتبر هذه العبارة أبسط شكل من أشكال حلقة التكرار Do ويتم بنائها على النحو التالى :
مثال عملى ...ضع الكود التالى :
ماذا ستلاحظ عند تشغيل البرنامج ...ستجد أنه قد طبع الجملة كثيرا الى مالانهاية و ستوقف البرنامج عن العمل ...
2_2 جملة Do - Loop Until
تستعمل جملة التكرار تلك لعمل حدث ما بعدد معين مثل جملة For السابقة لكن بشرط أن تصرح عن متحول قبلها لكي تعمل الجملة:
شرح الكود
في السطر الأول صرحنا عن متحول عددي
السطر الثاني بداية جملة التكرار
السطر الثالث زيادة قيمة المتحول a في كل حلقة تكرار
السطر الرابع تكتب التعليمة التي تريدها
السطر الخامس هو عدد مرات التكرار وهو سوف يكون قيمة المتحول a مثلاً :a<6 أو a=5
لذلك سوف يتم عمل التعليمة التي كتبتها 5 مرات ولهذا السبب قلنا عليك التصريح عن متحول لأنه دون ذلك سوف تكرر التعليمة إلى مالانهاية.
3_2 :جملة Do - While
يستخدم هذا النوع عند عدم معرفة عدد مرات التكرار وتتم السيطرة على عملية التكرار من خلال شرط يوضع بعد عبارة While كما موضح أدناه:
ويمكننا الخروج من حلقة Do – While بعبارة Exit Do.
أهلا وسهلا بكم الاخوان الكرام فى الجزء الثانى من هذا الدرس و هو عن الحلقات التكرارية ...
ثانيا : الحلقات التكرارية
ويقصد بها تكرار مجموعة من الاوامر عدد معين من المرات وهناك ثلاثة تراكيب لعمل ذلك وهى :
1 – حلقة التكرار For …Next
ويستخدم هذا التركيب اذا كنت تعرف عدد لمرات التى ترغب فى تكرارها وصياغته كالتالى
- الكود:
For a = القيمة الأولى To القيمة الثانية
(الحدث أو التعليمة)
Next a
ملاحظة ......(a) مجرد وسيط يمكنك تغيره ....واليكم مثال سريع للجملة البسيطة السابقة:
- الكود:
For a = 1 To 6
Print "أحمد مناع"
Next a
في المثال السابق حددنا القيمة الأولى وهي 0 أي قيمة a ثم حددنا القيمة الثانية وهي 6 .لذلك سوف يتم طباعة الجملة "أحمد مناع "بقيمة a أي خمس مرات.ودائما تنتهي جملة التكرار ب :Next
ويمكنك أن تستخدم للعد الامر Step لزيادة فى كل مرة اختيارية ....ففى مثالثا السابق نفترض أننا نريد طباعة الجملة بشرط أن يكون مقدار العدد هو 2 ....كنتب الكود التالى
- الكود:
For a = 1 To 6 Step 2
Print "أحمد مناع"
Next a
فى التمرين السابق يتم طباعة الجملة على النافذة ثلاث مرات فقط وليس 6 لان الفرق بين كل رقم والتالى له 2 أى أن البرنامج سيقوم بالعد على النحو التالى 2 /4 /6 و بالتالى ستكون النتجية ثلاث مرات فقط
ملاحظـات
• يمكن أنهاء الحلقة بعبارة Next بدون ذكر رمز العداد.
• يمكن الخروج من الحلقة بعبارة GOTO أو Exit For.
• لا يمكن الدخول للحلقة ألا من خلال عبارة For.
• لا يجوز تغيير قيمة العداد داخل الحلقة.
2 _ حلقة التكرار Do
يوجد عدة أشكال لهذه الحلقة وهى على النحو التالى :
1_2 : عبارة Do-Loop
تعتبر هذه العبارة أبسط شكل من أشكال حلقة التكرار Do ويتم بنائها على النحو التالى :
- الكود:
Do
التعليمة
Loop
مثال عملى ...ضع الكود التالى :
- الكود:
Do
print "أحمد مناع"
Loop
ماذا ستلاحظ عند تشغيل البرنامج ...ستجد أنه قد طبع الجملة كثيرا الى مالانهاية و ستوقف البرنامج عن العمل ...
2_2 جملة Do - Loop Until
تستعمل جملة التكرار تلك لعمل حدث ما بعدد معين مثل جملة For السابقة لكن بشرط أن تصرح عن متحول قبلها لكي تعمل الجملة:
- الكود:
Dim a As Integer
Do
a=a+1
التعليمة
Loob Until (a Value)
شرح الكود
في السطر الأول صرحنا عن متحول عددي
السطر الثاني بداية جملة التكرار
السطر الثالث زيادة قيمة المتحول a في كل حلقة تكرار
السطر الرابع تكتب التعليمة التي تريدها
السطر الخامس هو عدد مرات التكرار وهو سوف يكون قيمة المتحول a مثلاً :a<6 أو a=5
لذلك سوف يتم عمل التعليمة التي كتبتها 5 مرات ولهذا السبب قلنا عليك التصريح عن متحول لأنه دون ذلك سوف تكرر التعليمة إلى مالانهاية.
3_2 :جملة Do - While
يستخدم هذا النوع عند عدم معرفة عدد مرات التكرار وتتم السيطرة على عملية التكرار من خلال شرط يوضع بعد عبارة While كما موضح أدناه:
- الكود:
Do While R > 20
S = 2 * R
Print S
Loop
ويمكننا الخروج من حلقة Do – While بعبارة Exit Do.
أنتهينا من هذا الدرس و الى اللقاء أن شاء الله تعالى فى درس جديد
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: الدرس الرابع عشر ...الجمل الشرطية و حلقات التكرار فى الفجوال بيسك 6
جزاك الله خيرًا معلومة exit for K وكذلك exit do كنت محتاجها وبحثت عنها ولم أجدها فيما سبق
aboseif06- .
- تاريخ التسجيل : 19/03/2012
المساهمات : 1
النقاط : 1
التقيم : 0
الدولة :
الجنس :
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
أمس في 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
أمس في 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد