الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال رهيب علي جملة For..Next

مغلق
بدأه mqmmss في 4 أبريل 2006 · 9 رد · 1,866 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخواني لقد صادفت سؤال أعجبني فعلاً لم أصادفه منذ ثلاث سنوات

سؤالي هو

لدي حلقة For هذه الحلقة تبدأ برقم ( First Number قيمتة ثابتة = 0 )

وتنتهي برقم أخر ( Last Number وقيمتة من المحتمل أن تتغير )

ركزواااااااااا

لايمكن أن تتغير قيمة ( Last Number ) إلا إذا تحقق شرط معين موجود داخل جملة For

فسؤالي هنا هو أنني أريد إذا تحقق الشرط الموجود داخل جملة For فإن جملة الـ For تعود وتشغل من جديد لتستجيب للتغيرات

ملاحظة / يمكن حل هذه المشكلة بسهولة من خلال جملة Goto ولكنني لا أريد إستخدام هذه الطريقة...

* كما نعلم أننا إذا أردنا إنهاء الجملة فيمكننا إستخدام Exit For. فهل هناك دالة تعيد تشغيل جملة For من جديد...؟؟

أرجو مساعدتي..

#2

هل هذا الكود يفيد

Dim A as integer

A=10

For X= 0 To A

If X=5 Then A=A+x

Next

#3

معليش نسيت اصفر X

الكود مره تانية

Dim a As Integer

a = 10

For x = 0 To a

If x = 5 Then x = 0 And a = a + x

Next

#4

لا ادري اذا كان موجود في اللغة continue ام لا

for(i=0;i<j;i++)
{
if (j==5)
continue;

//else do you code..
}

منقطع من حين لاخر

#5

إفهموني رجاءً إخواني ...

أنا أريد إذا تحقق الشرط يعود وكانة بدأ تشغيل الـ For من جديد

أي زي كإنة يخرج من الـ loop ثم يعود ينشأ جملة الـ For من جديد

أريد البرنامج الذي يحاكي هذا الكود ولكن بدون إستخدام Goto

L:

For i as int = 0 To n

      if i=4 Then Goto L

Next i

تم تعديل هذه المشاركة بواسطة mqmmss في 4 أبريل 2006 في 20:36

#6

Goto هي الحل الوحيد

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#7
For i as int = 0 To n

     if i=4 Then Goto L

Next i

بإمكانك عمل التالي

For i as int = 0 To n

     if i=4 Then i=0

Next i

بكل بساطة بتعيد تصفير العداد

moh4evar@hotmail.com

cbb6a3b884f4f88b3a8e3d44c636cbd8.jpg

مركز تحميل الصور والملفات لغاية 10MB من دون فترة محددة لحذف الملفات

www.4img.com

#8

goto لسه موجوده في ال vb.net ??? ده أنا نسيتها يمكن من أيام Qbasic , vb6 مع الأعتزاز الكبير للجميع الأصدارات البيسيكية الحبيبة

#9

يـــــــــــــــــــــــــــــــــــــــــــــــــــا شباب

أنا عمري ما إستخدمت Goto ولا أريد إستخدامها مطلقاً

هل هناك طريقة أخرى ...

#10
اقتباس
يـــــــــــــــــــــــــــــــــــــــــــــــــــا شباب

أنا عمري ما إستخدمت Goto ولا أريد إستخدامها مطلقاً

هل هناك طريقة أخرى ...

لقد أعطاك Only The Lonely الحل، وهو أبسط وأفضل حل يمكن الوصول إليه برأيي، أما إذا أردت حلولاً أخرى فأظنك تستطيع الوصول إلى العشرات ولكن بالطبع يبقى حل Only The Lonely هو الأفضل:

حلاً آخر:

Dim x As Integer
        Do
            If x <> 50 Then
                x += 1
            Else
                x = 0
            End If

        Loop

وحلاً آخر:

Dim x As Integer
        Do
            For x = 0 To 100
     If x = 50 Then
                    Exit For
                End If
            Next

        Loop While x = 50

اقتباس
لا ادري اذا كان موجود في اللغة continue ام لا

نعم يوجد جملة resume ولكنها لن تنفع في حلّ السؤال المطروح

Learn Japanese :>>> http://www.nouben.com/

هذا الموضوع مغلق.

مواضيع مشابهة