حلقات VBScript: افعل بينما، افعل حتى، بينما، لكل (مثال)

⚡ ملخص ذكي

يشرح كتاب VBScript Loops كيفية تكرار الإجراءات باستخدام Do While و Do Until و While Wend و For Next و For Step و For Each، ويغطي بناء الجملة وشروط الخروج والأمثلة.

  • 🔁 افعل ذلك أثناء: يكرر العملية طالما أن الشرط صحيح.
  • ⛔ استمر حتى: يستمر في التكرار حتى يصبح الشرط صحيحًا.
  • 🪟 بينما كان ويند: حلقة تكرارية قديمة بدون خيار خروج.
  • 🔢 للمتابعة التالية: حلقة تعتمد على العداد مع خطوة اختيارية.
  • 📦 لكل التالي: تكرار المصفوفات أو القواميس أو المجموعات.
  • 🤖 مساعدو الذكاء الاصطناعي: يقوم الذكاء الاصطناعي بإنشاء حلقات VBScript وشرح مخارجها.

حلقات VBScript

لماذا يتم استخدام الحلقات في VBScript؟

تُستخدم الحلقات لتنفيذ نفس كتلة التعليمات البرمجية مرارًا وتكرارًا. هناك عدد من حلقات VBScriptping بعض العبارات. بعض عبارات VBScriptping تتضمن العبارات البرمجية Do While و Do Until و For……Next وما إلى ذلك. فكيف ستختار أيها؟ping العبارة التي يجب استخدامها لتلبية احتياجاتك؟

أثناء تنفيذ الحلقات، قد تكون على دراية أو غير دراية بعدد مرات تنفيذ مجموعة من التعليمات. على سبيل المثال، إذا أردت حساب مجموع عددين عشر مرات، فأنت تعلم مسبقًا أنك تريد تكرار جزء من التعليمات البرمجية عشر مرات. أما إذا أردت حساب مجموع عددين حتى يصبح متغير معين صحيحًا، فأنت لا تعلم عدد مرات تنفيذ الحلقة. لذا، بناءً على معرفتك أو عدم معرفتك بعدد مرات التنفيذ، يمكنك استخدام أنواع مختلفة من الحلقات.ping صياغات.

لـ...المرحاض التاليping تُستخدم العبارات إذا كنت تريد تكرار كتلة من التعليمات البرمجية عددًا محدودًا من المرات، أي إذا كنت تعرف عدد المرات التي تريد تكرار كتلة التعليمات البرمجية فيها.

استمر طالما استمر حتى انظرping تُستخدم العبارات عندما تريد تكرار كتلة من التعليمات البرمجية حتى يصبح الشرط صحيحًا أو خاطئًا، أي عندما لا تكون على دراية بعدد المرات التي تريد فيها تنفيذ كتلة التعليمات البرمجية.

دعونا نلقي نظرة على هذه المراحيضping البيانات واحدة تلو الأخرى.

VBScript تفعل أثناء التكرار

إذا كنت لا تعرف عدد المرات التي تحتاج فيها إلى تنفيذ مجموعة من التعليمات البرمجية، فسوف تستخدم حلقات Do while. على سبيل المثال، تريد إخراج الرسالة "مرحبًا" بينما تكون قيمة المتغير x أقل من 5. في مثل هذه الحالة، سيتم استخدام حلقة Do while.

<script type="text/vbscript">
Dim x
x=1
Do While x<5
document.write("Welcome.")
x=x+1
Loop
</script>

إذا حاولت تنفيذ الكود، فستحصل على الإخراج مثل هذا:

VBScript تفعل أثناء التكرار

يتم تنفيذ الكتلة أربع مرات (عندما x=1,2,3 و4) وتنتهي الحلقة عندما تصبح قيمة x 5. إذا نسيت العبارة x=x+1، فستصبح حلقتك عبارة عن حلقة لا تنتهي أبدًا واحد. ويعرف هذا النوع من الحلقات باسم حلقات لانهائيةقد تتسبب الحلقات اللانهائية في تعطل النظام. لذا، عند استخدام حلقة Do While،ping فيما يتعلق بالبيانات، يجب التأكد من وجود بعض التعليمات البرمجية التي ستجعل المظهرping الشرط صحيح في وقت ما.

إذا قمت بتعيين القيمة 7 للمتغير x في البداية، فلن يتم تنفيذ كتلة التعليمات البرمجية ولو مرة واحدة. لنفترض أنك تريد تنفيذ كتلة التعليمات البرمجية مرة واحدة على الأقل بغض النظر عن الشرط، فيمكنك استخدام حلقة Do while. قم بتغيير الكود هكذا:

مثال VBScript:

<script type="text/vbscript">
Dim x
x=7
Do 
document.write("Welcome.")
x=x+1
Loop While x<5
</script>

إذا قمت بتنفيذ هذا الكود، سوف تحصل على رسالة "مرحبًا" مرة واحدة فقط. هنا يتم التحقق من الحالة فقط بعد تنفيذ الحلقة مرة واحدة.

VBScript افعل حتى الحلقة

تُستخدم حلقة "Do until" أيضًا عندما لا تعرف عدد الوقت الذي تحتاجه لتنفيذ مجموعة من التعليمات البرمجية. الكتلة الأولى من التعليمات البرمجية في حلقة Do until (Do while x<5) تعادل المجموعة المذكورة أدناه من التعليمات البرمجية.

<script type="text/vbscript">
Dim x
x=1
Do Until x=5
document.write("Welcome.")
x=x+1
Loop
</script>

سيعطيك هذا نفس مخرجات المجموعة الأولى من التعليمات البرمجية في حلقة Do while. ستظهر لك رسالة الترحيب أربع مرات. مشابه لـ Do …..Loop while، علينا أن نفعل…Loop until أيضًا.

إذا كنت تريد الخروج من حلقة Do while أو Do until بينهما، فيمكنك استخدام عبارة Exit Do. لنفترض أنك تريد الخروج من الكتلة عندما تصبح قيمة x 3 في البرنامج أعلاه، فأنت بحاجة إلى البرمجة على النحو التالي:

<script type="text/vbscript">
Dim x
x=1
Do Until x=5
If x=3 Then Exit Do
document.write("Welcome.")
x=x+1
Loop
</script>

إذا قمت بتنفيذ التعليمات البرمجية، فإن الإخراج الخاص بك سيبدو كما يلي:

VBScript افعل حتى الحلقة

هنا يتم الخروج من الحلقة عندما تصبح قيمة x 3.

VBScript أثناء التكرار

while…حلقة Wend تشبه حلقة Do while على الرغم من عدم استخدامها بشكل شائع. نظرًا لأن Do while أكثر تنظيمًا من while…..Wend حلقة، عادةً ما يستخدم المبرمجون عبارات Do while.

<script type="text/vbscript">
Dim x
x = 1   
While x < 5   
document.write("Welcome.")
x=x+1
Wend  
</script>	

سيكون الإخراج

VBScript أثناء التكرار

VBScript للحلقة التالية

يمكن استخدام حلقة For-Next لتنفيذ كتلة من التعليمات البرمجية لعدد محدد من المرات. تحدد "حلقة VBScript For" متغير العداد وقيم البداية والنهاية الخاصة به. تقوم العبارة التالية بزيادة متغير العداد بمقدار واحد.

For i = 1 To 5
  document.write("The number is " & i & "
")
Next

إذا قمت بتنفيذ الكود، فسوف تحصل على الإخراج مثل هذا:

VBScript للحلقة التالية

VBScript لحلقة الخطوة التالية

بشكل افتراضي، يتم زيادة متغير العداد بمقدار واحد. إذا كنت تريد زيادة أو تقليل متغير العداد بالقيمة التي تحددها، فيمكنك استخدام For....Step....Next الحلقة. لنفترض في الكود أعلاه أنك تريد زيادة العداد بمقدار 2، ثم قم بتعديل الكود الخاص بك مثل هذا:

For i = 1 To 5 Step 2
  document.write("The number is " & i & "<br />")
Next
</script>

سيكون إخراج هذا الرمز:

VBScript لحلقة الخطوة التالية

إذا كنت تريد الخروج من حلقة For Next أو For Step Next بينهما، فيمكنك استخدام Exit للبيان. لنفترض أنك تريد الخروج من الكتلة عندما تصبح قيمة i 3 في البرنامج أعلاه، فأنت بحاجة إلى البرمجة على النحو التالي:

<script type="text/vbscript">
For i = 1 To 5 Step 2
  If i=3 Then Exit For
  document.write("The number is " & i & "<br />")
Next
</script>

سوف يكون الإخراج:

VBScript لحلقة الخطوة التالية

VBScript لكل حلقة التالية

إذا كنت تريد تكرار كتلة من التعليمات البرمجية لكل عنصر في مجموعة أو لكل عنصر في مصفوفة VBS، فأنت بحاجة إلى استخدام حلقة For...Each...Next.

<script type="text/vbscript">
Dim students(4)
students(0)="John"
students(1)="Hanah"
students(2)="Sarah"
students(3)="Kevin"
students(4)="Emma"

For Each x In students
  document.write(x & "<br />")
Next
</script>

سيكون إخراج الكود المحدد أعلاه

VBScript لكل حلقة التالية

Code مثال

<html>
<head>

<script type="text/vbscript">
Dim name, length
name = InputBox("Enter your name")
length = Len(name)’Gives length of the input string

For i = 1 To length
  txt = Mid(name,i,1)'Returns a specified number of characters from a string, the first parameter is the string, second parameter is the starting position and third parameter is the number of characters to return
  If txt="a" or txt="A" or txt="e" or txt="E" or txt="i" or txt="I" or txt="o" or txt="O" or txt="u" or txt="U" Then 
  counter = counter+1
  End If
Next
document.write("Hi " & name & "!!!Your name contains " & counter & " vowels.")
</script>

</head>
<body>

</body>
</html>

احفظ الملف باسم loop.html في المكان المفضل لديك. افتح الملف الآن في متصفح Internet Explorer وستظهر لك نافذة تطلب منك إدخال اسمك. أدخل اسمًا، مثل آرون، على النحو التالي:

VBScript لكل حلقة التالية

انقر فوق "موافق" وسيبدو الإخراج الخاص بك كما يلي:

VBScript لكل حلقة التالية

الأسئلة الشائعة

كرر ما يلي طالما أن القيمة صحيحة. كرر حتى طالما أن القيمة خاطئة.

نعم. يقوم الذكاء الاصطناعي بترجمة VBScript إلى PowerShell، Python أو Javaالنصي.

يقوم الذكاء الاصطناعي بتحديد الزيادات المفقودة ويقترح عبارات الخروج.

استخدم Exit Do أو Exit For. لا يوجد خيار Exit في Wend.

نعم، ولكن يُفضل استخدام Do While لدعمه لـ Exit Do.

For Each key In dict.Keys then access dict.Item(key).

Microsoft تم إيقاف دعمه. استخدم PowerShell أو Python للعمل الجديد.

بالنسبة لـ i = 1 إلى 10 الخطوة 2. الخطوات السالبة تسير من الأعلى إلى الأسفل.

تلخيص هذه التدوينة بـ: