VB2017 VB2015 VB2013 VB2012 VB2010 VB2008 VB6 VB Sample Codes 中文VB About Us

Lesson 9 : Looping


In lesson 7 and lesson 8, we have learned how to handle a decision-making process using the If...Then...Else program structure. Besides that, we have also learned how to deal with multiple choices using the Select Case program structure in Visual Basic. Now, we shall examine another decision-making procedure that involves looping.

We can write a Visual Basic procedure that allows the program to run repeatedly until a condition or a set of conditions is met. This is procedure is known as looping . Looping is a very useful feature of Visual Basic because it makes repetitive works easier. There are  three kinds of loops in Visual Basic,  the Do...Loop ,the For.......Next loop and the While.....Wend Loop.

9.1 The Do Loop

The Do Loop statements have four different forms, as shown below:

a)
 Do While condition 
  Block of one or more VB statements 
Loop
b)
 Do
  Block of one or more VB statements 
 Loop While condition 
c)
 Do Until condition 
  Block of one or more VB statements 
 Loop 
d)
Do
 Block of one or more VB statements
Loop Until condition 

Example 9.1

Do while 
counter <=1000 
num.Text=counter
counter =counter+1
Loop 

* The above example will keep on adding until counter > 1000

The above example can be rewritten as

Do 
counter=counter+1 
Loop until counter>1000 
 

9.2 Exiting the Loop

Sometime we need exit to exit a loop earlier when a certain condition is fulfilled. The keyword to use is  Exit Do. You can examine Example 9.2 for its usage.

Example 9.2

Dim sum, n as Integer
Private Sub Form_Activate()
List1.AddItem "n" & vbTab & "sum"
Do
n=n+1
sum=sum+n-resize
List1.AddItem n & vbTab & sum
If n=100 Then
Exit Do
End If
Loop
End Sub

Explanation

In the above example, we compute the summation of 1+2+3+4+……+100.  In the design stage, you need to insert a ListBox into the form for displaying the output, named List1. The program uses the AddItem method to populate the ListBox. The statement List1.AddItem "n" & vbTab & "sum" will display the headings in the ListBox, where it uses the vbTab function to create a space between the headings n and sum.

9.3 The For....Next Loop

The For....Next Loop event procedure is written as follows:
 

For counter=startNumber to endNumber (Step increment)

 One or more VB statements 
	
Next 

Example 9.3 a


Private Sub Command1_Click()
Dim counter As Integer
For counter = 1 To 10
List1.AddItem counter
Next
End Sub

Example 9.3 b

Private Sub Command1_Click()

Dim counter As Integer
For counter = 1 To 1000 Step 10
counter = counter + 1
Print counter
Next
End Sub

Example 9.3 c

For counter=1000 to 5 step -5
counter=counter-10
If counter<50 then
Exit For
Else
Print "Keep Counting"
End If
Next

Example 9.3 d

Private Sub Form_Activate( )
For n=1 to 10
If n>6 then
Exit For
Else
Print n
Enf If
Next
End Sub

Sometimes the user might want to get out from the loop before the whole repetitive process is executed, the command to use is Exit For. To exit a For….Next Loop, you can place the Exit For statement within the loop; and it is normally used together with the If…..Then… statement. Its usages is shown in Example 9.3 d.

 

9.4 Nested For...Next  Loop

When you have a loop within a loop, then you have created a nested loop. You can actually have as many loops as you want in a nested loop provided the loops are not the never-ending type. For a nested loop that consists of two loops, the first cycle of the outer loop will be processed first, then it will process the whole repetitive process of the inner loop, then the second cycle of the outer loop will be processed and again the whole repetitive process of the inner loop will be processed. The program will end when the whole cycle of the outer loop is processed.  

The Structure of a nested loop is :

 For counter1=startNumber to endNumber (Step increment) 
  For counter2=startNumber to endNumber (Step increment) 
   One or more VB statements 
 Next counter2
Next counter1

Example 9.4

Private Sub Form_Activate ( )
For firstCounter= 1to 5
 Print "Hello"
 For secondCounter=1 to 4
  Print "Welcome to the VB tutorial"
 Next secondCounter
Next firstCounter
 Print"Thank you"
End Sub
Figure 9.1

The output of the above program is shown in Figure 9.1. As the outer loop has five repetitions, it will print the word “Hello” five times. Each time after it prints the word “Hello”, it will print four lines of the “Welcome to the VB tutorial” sentences as the inner loop has four repetitions.

9.5 The While….Wend Loop

The structure of a While….Wend Loop is very similar to the Do Loop. it takes the following form:

 While condition
  Statements
 Wend
 

The above loop means that while the condition is not met, the loop will go on. The loop will end when the condition is met. Let’s examine the program listed in example 9.4.

Example 9.5

Dim sum, n  As Integer
Private Sub Form_Activate()
List1.AddItem "n" & vbTab & "sum"
While n <> 100
n = n + 1
Sum = Sum + n
List1.AddItem n & vbTab & Sum
Wend
End Sub




Copyright©2008 Dr.Liew Voon Kiong. All rights reserved |Contact|Privacy Policy