تعديل هذا الكود


(اسلام الكبابى) #1

[B][COLOR=Black]كتبت هذا الكود



[/color]

[/b][LEFT][B][COLOR=Black]Private Sub Command1_Click()
For I = 1 To NNUM
       VV(I) = Text1(I).Text
       If VV(I) > 50 Then GoTo 100
       NNN = VV(I)
       If NNN = 10 Then GoTo 10
       If NNN = 20 Then GoTo 20
       If NNN = 30 Then GoTo 30
       If NNN = 40 Then GoTo 40
       If NNN = 50 Then GoTo 50
100 Next I
[/color][/b] [B][COLOR=Black]
10  Rem"هنا نكتب كود اللازم عندما تكون NNN=10"
       
       GoTo 200
20  Rem"هنا نكتب كود اللازم عندما تكون NNN=20"
       
       GoTo 200
30  Rem"هنا نكتب كود اللازم عندما تكون NNN=30"
       
       GoTo 200
40  Rem"هنا نكتب كود اللازم عندما تكون NNN=40"
       
       GoTo 200
50  Rem"هنا نكتب كود اللازم عندما تكون NNN=50"
[/color][/b] [B][COLOR=Black]
200  End Sub
[/color][/b][/left]
[B]

[/b][LEFT]

وطبعآ يمكن استبدال الجمل الشرطيةالخمسةالمتتالية باستخدام Select Case بدلآ من IF هكذا

[B][COLOR=Black]
 Select Case NNN
       Case "10": GoTo 10
       Case "20": GoTo 20
       Case "30": GoTo 30
       Case "40": GoTo 40
       Case "50": GoTo 50
    End Select

[/color][/b]

وأريد كودآ أسهل من ذلك
بحيث لا يمرالبرنامج كل مرة(مع كل قيمة لل I أثناء تنفيذ اللوب) على هذه الجمل الخمسة أوعلى بعضها حتى يتحقق الشرط

كيف يمكن مثلآ أن نجعل متغير يعبرعن رقم الجملة التى سنتوجه اليها
فتكتب هذه الجمل الخمسة جملة واحدة بدون أى شرط (GoTo NNN)
أى يكون اللوب هكذا

[B][COLOR=Black]
For I = 1 To NNUM
       VV(I) = Text1(I).Text
       If VV(I) > 50 Then GoTo 100
       NNN = VV(I)
       GoTo NNN
100 Next I

[/color][/b]

ولكم ألف شكر

[/left]

(اسلام الكبابى) #2

[SIZE=4]
ملحوظة هامة
طبعآ من الممكن الاستغناء نهائيآ عن أرقام هذه الجمل وتنفيذ جواب الشرط فى نفس مكان الشرط هكذا مثلآ


[B][COLOR=Black]If NNN = 10 Then
      Rem"هنا نكتب كود اللازم عندما تكون NNN=10" 
 End If[/color][/b]

وبالمثل مع باقى الجمل 20 و 30 و 40 و 50
ولكنى لا أريدها هكذا لأن هذا الكود اللازم عندما تكون NNN=10 طويل وسأحتاجه فى أكثر من موضع فلا داعى لاعادة كتابته فى كل موضع مرة وانما كلما احتجناه توجهنا لجملة معينة GO TO 10 فنجده مكتوبآ هناك
وبالمثل مع باقى الجمل 20 و 30 و 40 و 50
[/size]