Title: COM148X1 Interactive Programming
1COM148X1Interactive Programming
2Topics Today
- String Functions
- Using Timer
- Looping
3String Functions
4String Class
- Visual Basic provides many useful string
functions and they can be used through all String
object - Position of characters in string is starting from
0 - All string functions will not alter the original
string, another string variable is required to
hold the result
5Commonly Use String Functions
Function Description Example
ToUpper() change the content to upper case s2 s.toUpper()
ToLower() change the content to lower case s2 s.ToLower()
Length() return the length of string len s.Length()
Substring(pos, len) return substring from pos with length len s2 s.substring(2, 5)
IndexOf( substring) return position of substring, return -1 if substring not found pos s.IndexOf(hello)
6Commonly Use String Functions (cont)
Function Description Example
Trim() remove leading and trailing space s2 s.toTrim()
Remove (pos, len) remove a number of characters from string starting from pos S2 s.Remove(3, 5)
Insert( pos, string) insert a string to pos s2 s.insert(3, Hello)
7Using Timer
8What is Timer
- Timer is an invisible stopwatchto do count down
from present time - Once timer finished count down, corresponding
code set by programmer will be executed
9Locate Timer from Toolbox
10Timer Properties
- Enabled
- Count down will start if it is True
- Interval
- Number of milliseconds for count down, once
finished count down, call-back function (written
by programmer himself) will be executed
11Looping
12What is Looping
- Looping is a program control structure which
allows computer executes part of program multiple
times - In Visual Basic, looping can be done by For Next
loop or Do While loop
13For Next Loop
- For Next loop mainly used to do countable
repetitions, for example, calculate the total
income for a year (12 months) - A counter variable (a variable that is used for
count) is required for the loop to count the
number of repetition
14For Next Loop 1
i v1
Action
yes
i i 1
i lt v2?
no
15For Next Loop 1 in VB
- For variable v1 To v2 actionNext variable
- Example
- For month 1 to 12 income InputBox(Income
month) sum sum incomeNext month
16For Next Loop 2
i v1
Action
yes
i i c
i ? v2?
no
17For Next Loop 2 in VB
- For variable v1 To v2 Step c actionNext
variable - Example
- For id 1 to max_id step 2 print student name
with ID id Next id
18For Next Loop 3
i v1
Action
yes
i i c
i ? v2?
no
exit before the loop complete
19For Next Loop 3 in VB
- For variable v1 To v2 Step c action part
1 If (condition) Then Exit For End If action
part 2Next variable - Example
- For month 1 to 12 income InputBox(Income
month) If (income lt 0) Then MsgBox(No more
income, stop input) Exit For End if sum
sum incomeNext month
20Do While Loop
- Unlike For Next loop, Do While loop mainly used
to do uncountable repetitions, for example,
supermarket calculator (different customers will
buy different number of products) - Do While loop can always be used to replace For
Next loop but not the reverse in Visual Basic
21Do While Loop 1
no
Condition
yes
Action
22Do While Loop 1 in VB
- Do While condition actionLoop
- Example
- Do While price gt 0 sum sum price price
InputBox(Enter price)Loop
23Do While Loop 2
Action
yes
Condition
no
24Do While Loop 2 in VB
- Do actionLoop While condition
- Example
- Do password InputBox(Password)Loop While
password ltgt 21
25Exit Do While Loop Before Completion
- Similar to For Next loop, Do While loop can be
exit before completion by using Exit Do statement
26Infinity Loop
- Loop that will never ends
- Actions that may cause infinity loop
- Modify counter variable during the execution of
For Next loop - Use wrong condition for Do While loop
- Forget to update variable which used in the
condition of Do While loop - Intentionally make it as infinity loop
27Nested Loop
- Loop exist inside another loop
- The loop inside will be executed multiple times
- Example
- For row 1 to 10 For column 1 to 5 name
InputBox(Student name at row row , col
column) do something with the
name ... next columnnext row