CSM18 Statements in VB

advertisement
CS285 Programming in VB
Statements in Visual Basic
• A statement is the fundamental syntactical element of
a program
• smallest piece of code that the language will accept in its
own right
• A statement can be used to
•
•
•
•
•
set aside space for data storage (variables)
assign a value to a variable
perform a calculation and assign its result to a variable
execute a previously-defined operation
control other statements
CS285 Visual Basic 2
1
Department of Computing UniS
Visual Basic - Example Statements
Dim x As Integer, y As Single
Declares variables
Assigns a value to the
variable
x=2
x=x+4
Assigns the result of
an expression
y = Sqr(x)
Print y
Uses an in-built
function
Executes a predefined operation
Prints values on the current form from the top down
CS285 Visual Basic 2
2
Department of Computing UniS
Visual Basic - Input & Output
Forms are Windows but are also VB Objects which
contain other objects - Interaction Objects e.g. input,
output and command controls
• Input - InputBox, Text Box, Check Box, Lists etc.
• Output - Text Box, Message Box, Print, Picture Box
• Command - Buttons, Menus etc
Private Sub Button1_Click()
Dim Data As Integer
Data = InputBox(“Enter a number”)
Text1.Text = “The number is “ & Data
MsgBox (“The number is “ & Data)
Print “The number is “ & Data
End Sub
CS285 Visual Basic 2
3
Department of Computing UniS
Visual Basic - Design Issues
• A Form should allow user-input in any order
• Processing triggered when a command is issued
• Users should be kept informed of appropriate actions
required and results of actions
• Make sure inappropriate actions are disabled
Private Sub Command1_Click()
Command2.Enabled = False
Command3.Visible = True
End Sub _Click()
CS285 Visual Basic 2
4
Department of Computing UniS
VB - Structures within Software
• Structure is apparent at a number of levels
• A project can involve a number of modules, each occupying a
separate file
• Each module will contain a number of procedures (Subs and
Functions) and variable declarations
• Within a Sub or Function, certain standard code constructs are
used to define whether actions happen or not, or how often
they are executed
• Data variables in a module can be grouped in several ways to
form data structures
• The last two categories are central to the idea of
‘Structured Programming’
CS285 Visual Basic 2
5
Department of Computing UniS
VB - Structured Programming
• Born out of chaotic nature of software designs
before late 1960s
• Idea is to limit the power of the programmer to
direct a program with no restrictions
• Code statements are organised in a small
number of standard forms
• Structure of data should mirror real-life
information structure wherever possible
CS285 Visual Basic 2
6
Department of Computing UniS
VB - Program Control Constructs
Three main structuring principles
• Code statements should be grouped into functional units
• Subs, Functions
• Possible to select whether one or more statements will
execute or not, based on a simple logical criterion
• If...Then, If...Then...Else, Select Case
• Possible to repeat a statement or group of statements
either a given number of times or until a specific
condition is true
For...Next, Do...Loop,
CS285 Visual Basic 2
7
While...WEnd
Department of Computing UniS
Visual Basic - Conditions
• Central to the principles of programming
• The flow of execution depends on prevailing
conditions within a program
• A condition is an expression that evaluates to
True or False. Can be…
•
•
•
•
A single Boolean variable
A combination of Boolean variables
The result of a comparison for equality or relative size
A combination of such comparisons
CS285 Visual Basic 2
8
Department of Computing UniS
Visual Basic - Logical Conditions
X=0
‘ True if X is zero, False otherwise
Y=X
‘ True if Y equals X
X<Y
‘ True is X is bigger than Y
X = 0 And Y >2
‘ True if both are true
X = 0 Or Y > 2
‘ True if either is true
These are not assignments:
CS285 Visual Basic 2
9
Department of Computing UniS
VB - Conditions to control flow
• Using a condition, can direct the flow of a
program…
If Time > “12:00” Then
Call Afternoon()
Else
Call Morning()
End If
CS285 Visual Basic 2
10
Department of Computing UniS
VB - If...Then flexible control
If Time < “12:00” Then
MsgBox “Good morning”
ElseIf Time > “12:00” And Time < “18:00” Then
MsgBox “Good afternoon”
Else
MsgBox “Good evening”
End If
CS285 Visual Basic 2
11
Department of Computing UniS
Visual Basic - Case Structure
• When dealing with many possible conditions use a
Case Construct to Select one of a number of possible
Cases
• Select Case Variable
Select Case MonthNo
Case 4, 6, 9, 11
MsgBox “This month has 30 days”
Case 2
MsgBox “This month has 28 days”
Case Else
MsgBox “This month has 31 days”
End Select
CS285 Visual Basic 2
12
Department of Computing UniS
Visual Basic - Iteration
Iteration is repetition of code
• Can execute one or more statements
• A given number of times
• Until a condition becomes True
• While a condition remains True
• This allows the same code to be reused
• For a number of similar variables
• For the same variable(s) containing a succession of values e.g.
• Print a number of pages
• Get input from a user until a valid entry
• Calculate a succession of loan payments
CS285 Visual Basic 2
13
Department of Computing UniS
Visual Basic - Iteration
For index = 1 To 12
‘ Print a table of squares
Print index, index * index
Next
Do
‘Repeat until user enters something
Name = InputBox (“Enter your name”)
Loop Until Name <> “”
CS285 Visual Basic 2
14
Department of Computing UniS
Visual Basic - Iteration
While Time < “18:00”
DoWork ()
‘Sub DoWork() defined elsewhere
Wend
Note: This code will not be executed unless the initial
condition is met.
Compare with Do…Loop which executes the code at least
once.
CS285 Visual Basic 2
15
Department of Computing UniS
Visual Basic - Structured Data
• May need
to work with sets of data
• Classes of students
• Lists of library books
• Normally, information is complex and has structure
• Items are related by..
• Similarity (e.g. class of students)
• Hierarchy (e.g. a book has several chapters)
• Grouping (e.g. a person has a name, address, phone
number, national insurance number, credit cards, etc..)
• We use data structures to group information together
CS285 Visual Basic 2
16
Department of Computing UniS
Visual Basic - Arrays
• Simplest form of data structure
• A number of variables of the same type, related in
some way
• A list of names
• A Table of profit figures
• All elements share the same name
• Each element has an index indicating its position
in the array
CS285 Visual Basic 2
17
Department of Computing UniS
Visual Basic Arrays
Dim Profits(1998 To 2000, 1 To 4) As Single
Dim Students(1 To 6) As String
Index
Students
1
2
3
4
5
6
John Smith
Jane Green
Mary Brown
Mike Stone
Ashok Din
Profits
Quarters
1
2
3
4
1998
1999
2000
1240.00
1450.25
1603.33
1775.50
1825.23
1733.24
1602.45
1743.10
1679.95
1100.70
1250.50
1432.55
1-Dimensional Array
Index
CS285 Visual Basic 2
18
2-Dimensional Array
Element
Department of Computing UniS
VB - Programming with Arrays
Use For..Next construct to loop through an array
Dim ID As Integer, Year As Integer, Quarter As Integer
……
For ID = 1 To 6
Print Students(ID)
Next
For Year = 1998 To 2000
‘Note nested For loops
For Quarter = 1 To 4
TotalProfit = TotalProfit + Profits(Year, Quarter)
Next
Next
CS285 Visual Basic 2
19
Department of Computing UniS
VB - Programming with Arrays
Use of a Control Array
An array of Control Objects:
Create the first Control Object and name it
Create the second Control Object and give it the
same name. VB asks if this is an array.
Reference by Name(0), Name(1), Name(2) etc.
CS285 Visual Basic 2
20
Department of Computing UniS
VB - Use of Control Arrays
For i = 0 To 3
TextBox(i).Text = "Text Box " & i
Next
CS285 Visual Basic 2
21
Department of Computing UniS
Visual Basic - Use of ListBox
Sub Form_Load()
List1.AddItem "Red"
List1.AddItem "Blue"
List1.AddItem "Green"
End Sub
CS285 Visual Basic 2
Sub List1_Click()
Select Case List1.ListIndex
Case 0
TextBox(0).BackColor = &HFF
Case 1
TextBox(1).BackColor = &HFF00
Case 2
TextBox(2).BackColor = &HFF0000
End Select
End Sub
22
Department of Computing UniS
Visual Basic - Program in a Module
• Use a module to provide code accessible from
•
•
•
•
any where in the project
Add Module, make
Option Explicit - forces declaration of variables
- good practice
Data Storage with Private Procedures
Access with Public Procedures
CS285 Visual Basic 2
23
Department of Computing UniS
Visual Basic - Program in a Module
Option Explicit
‘Forces declaration of variables
Private Const Max = 10
Private Names (1 To Max) As String
Public Sub AddEntry()
…..
Public Sub DisplayList()
…..
CS285 Visual Basic 2
24
Department of Computing UniS
Download