منتدي
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدي

منتدي تعليمي، ترفيهي، اجتماعي
 
الرئيسيةالرئيسية  البوابةالبوابة  الجديدالجديد  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  

 

 17-قواعد الفيجوال - الجزء الرابع

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
admin
المدير العام

المدير العام
admin


عدد المساهمات : 1578
الجنس : ذكر
تاريخ التسجيل : 27/06/2008

17-قواعد الفيجوال - الجزء الرابع Empty
مُساهمةموضوع: 17-قواعد الفيجوال - الجزء الرابع   17-قواعد الفيجوال - الجزء الرابع Icon_minitimeالسبت 19 يونيو 2010, 4:22 pm

Do
…….Loop While


الامر Do…….Loop While
يعمل كالامر Do While………Loop

مع اختلاف بسيط وهو ان الشرط يتم تقيمه بعد
نهايه كل تكرار وليس قبل بدايته

ويؤدي ذلك الي ان الاوامر التي ستكرر ستنفذ
مرة واحده علي الاقل قبل التحقق من الشرط بعكس Do
While……..Loop

فالاوامر لن تنفذ ابدا الا بعد التحقق من
الشرط اولا والشكل العام :






اقتباس :
Do
…………
Code
………
.
Loop While Condition










لنأخذ مثالا علي ذلك
نفرض اننا نجعل المستخدم يقوم بادخال password عند دخوله فورم معين وبدون هذه الباسورد لا
يستطيع الدخول


نقوم بوضع زر علي الفورم ونكتب بداخله الكود
التالي







اقتباس :
Do
(
"x = InputBox("Enter PassWord", "Do.........Loop While
Loop While x <> 123










وهذا يعني انه سيتم في اول مرة اظهار صندوق
الحوار لادخال كلمه السر بدون ان يري الشرط المطلوب سيقزم المستخدم بادخال
كلمه السر ولنفرض انها 456

ستقوم الحلقه الان برؤيه الشرط اذا كان
المدخل من قبل المستخدم هو 123 سيقوم بالدخول
واذا لا سيعرض مربع الحوار مرة اخري

وهكذا حتي يتم كتابه 123
سيصبح مصرح له بالدخول




Do……..Loop
Until


لا تختلف كثيرا عن سابقتها الا في ما شرحناه
في الفروقات سابقا في هذا الجدول




17-قواعد الفيجوال - الجزء الرابع 35_1251689669
17-قواعد الفيجوال - الجزء الرابع NLP_button





والصيغه العامه لها






اقتباس :
Do
…………
Code
………
.
Loop Until Condition










وسنستخدم نفس المثال السابق







اقتباس :
Do
(
"x = InputBox("Enter PassWord", "Do.........Loop Until
Loop Until x
= 123










فهما جميعا متشابهين عدا الفروقات السابقه
المبينه في الجدول



For……….Next



تعتبر هذه الحلقه من الحلقات التكراريه ايضا
ولكن تختلف عن قواعد Do في انها يمكننا فيها
تحديد عدد معين من مرات التكرار علي عكس Do التي
لا نستطيع ان نحدد عدد التكرار فيها

والصيغه العامه لها هي






اقتباس :
For Variable=Start To End Step Increment
……………
.
…………
Code
……………
.
………….
Next Variable








Variable
= هي متغير لتحديد قيمه التكرار المبدئيه

Start = هي
نقطه البدايه للحلقه التكراريه

End = هو
نهايه الحلقه التكراريه

Increment =
وهي مقدار الزياده في الحلقه التكراريه

بالنسبه لــ Step Increment فهي اختياريه يمكنك اضافتها اولا
وعند عدم وجودها سيزيد المقدار بقيمه واحد

مثال للتوضيح
لنفرض اننا نريد اضافه الارقام من 1 الي 10 في ListBox سيكون الكود بالشكل التالي






اقتباس :
Dim i As Integer
For i = 1 To 10
List1
.Additem i
Next i










اولا قمنا بتعريف متغير من النوع Integer ثم بدأنا الحلقه التكراريه بوضع رقم 1 في المتغير I وجعلناه
القيمه المبدئيه للحلقه

وحددنا نهايه الحلقه عند الرقم 10 ثم قمنا بطباعه ناتج هذه الحلقه
قم بتشغيل البرنامج
ماذا تلاحظ؟

تلاحظ انه تم طباعه الاعداد من الرقم 1 الي الرقم 10 علي
الفورم



مثال اخر
نريد هذه المرة ان نقوم بطباعه الاعداد من
الرقم 10 الي الرقم 1

اري منك الكثير قام بالاجابه

نغم سنقوم بعكس البدايه والنهايه للحلقه ولكن
لاحظ عند تنفيذك للكود لن يظهر شيئا ولن تتم تنفيذ الحلقه

لما لم يتم تنفيذها ؟
وذلك لان الحلقه بطبيعتها تقوم بالزياده وليس
بالنقصان

اذا سنستخدم كلمه Step
ونضع بعدها قيمه -1 وذلك لكي يقوك بانقاص 1 في كل مرة

اذا الكود سيصبح بهذا الشكل





اقتباس :
Dim i As Integer
List1
.Clear
For i = 10 To 1 Step -1
List1
.AddItem i
Next i










ستلاحظ الان طباعه الارقام من 9 الي 1 بشكل صحيح

ولكن ماذا اذا كنا
نريد طباعه الارقام الزوجيه بشكل تصاعدي؟

سنستخدم ايضا Step
ونضع لها القيمه 2

انظر لهذا الكود






اقتباس :
Dim i As Integer
List1
.Clear
For i = 2 To 10 Step 2
List1
.AddItem i
Next i










اعتقد ان الان الفكرة وضحت

الان لنجرب معا صندوق حوار الباسوورد ونجعل
عدد مرات السماح لكلمات المرور الخاطئه هي 3
وبعدها يتم اغلا البرنامج مثلا







اقتباس :
Dim i As Integer
For i = 1 To 3
("x = InputBox("Enter PassWord", "For..........Next
If x = 123 Then Exit For
If
i = 3 Then MsgBox "The PassWord Is Wrong .... The Programme "Will End
Next i










حددنا ان القيمه المبدئيه للحلقه هي 1 والقيمه النهائيه هي 3
اي انه سيتم تنفيذ حلقه التكرار 3 مرات
بعد ذلك قمنا باظهار صندوق حوار يطلب كلمه
المرور

في السطر الذي يليه اخبرناه انه اذا كانت
قيمه مريع الحوار هي 123 يتم الخروج من حلقه For عن طريق الامر Exit For

اما اذا اصبحت الحلقه في المرة الاخيرة وهي
رقم 3 سيتم اظهار رساله يخبرة فيها ان جميع
كلمات المرور التي ادخلتها خاطئه وسيتم اغلاق البرنامج


اعتقد ان هذه المرة اصبح حوار كلمه المرور
اكثر مرونه من الاخر الذ استخدمنا فيه الحلقه Do
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://telbana.alafdal.net
نور الدين
نائب المدير

نائب المدير
نور الدين


عدد المساهمات : 5431
الجنس : ذكر
تاريخ التسجيل : 26/04/2010

17-قواعد الفيجوال - الجزء الرابع Empty
مُساهمةموضوع: رد: 17-قواعد الفيجوال - الجزء الرابع   17-قواعد الفيجوال - الجزء الرابع Icon_minitimeالخميس 19 أغسطس 2010, 3:36 am

جزاك الله خيرا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://telbana.alafdal.net
 
17-قواعد الفيجوال - الجزء الرابع
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» 16-قواعد الفيجوال بيسك - الجزء الثالث
» 15-قواعد الفيجوال بيسك - الجزء الثاني
» 14 - قواعد الفيجوال بيسك - الجزء الاول
» الدرس الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع
»  قواعد السعادة السبع

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدي  :: المنتديات التقنية :: قسم لغات البرمجة :: دورة في الفيجوال بيسك الإصدارة السادسة فقط للأستاذ GLAMOUR-
انتقل الى: