CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A...

24
CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB 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

Transcript of CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A...

Page 1: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS1

CSM18 Further Constructs in VB

• 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

Page 2: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS2

CSM18 Example Statements

Dim x As Integer, y As Single

x = 2

x = x + 4

y = Sqr(x)

Print y

Declares variables

Assigns a value to the variable

Assigns the result of an expression

Uses an in-built function

Executes a pre-defined operation

Page 3: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS3

CSM18 Forms• Forms are Windows but are also VB Objects

which contain other objects - Interaction Objects eg input, output and command controls

• Input - InputBox, Text Box, Check Box, Lists etc.

• Command - buttons, menus etc• Output - Text Box, Message Box, Picture Box

etc• 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

Page 4: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS4

CSM18 Event Driven Program

• A special form of Subroutine (Sub) that Visual Basic associates with an event

• Mouse operation• Key-press• Signal from another application

• An event handler is called automatically when the event happens

• Program can respond to external stimuli

Private Sub Botton1_Click()

Statements….

End Sub

Page 5: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS5

CSM18 Input & Output

• Input use an InputBox or TextBox• Output use a MsgBox or TextBox or Print

Private Sub Botton1_Click()

Dim Data As Integer

Data = InputBox(“Enter a number”)

Text1.Text = “The number is “ & Data

Print “The number is “ & Data

End Sub

Page 6: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS6

CSM18 Event-Driven User Interfaces

• Interaction Objects are created on the Form

• User interacts with objects to input data, control the program and to receive data/information.

• Objects have a set of Properties that describe the state of the object.

• Values of Properties can be changed by program statements

Page 7: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS7

CSM18 Event-Driven User Interfaces

• To make the button visible set it’s property ‘visible’ to True

•Button1.Visible = False

Page 8: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS8

CMS18 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’

Page 9: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS9

CSM18 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

Page 10: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS10

CSM18 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, While...WEnd

Page 11: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS11

CSM18 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

Page 12: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS12

CSM18 Logical Conditions

These are not assignments:

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

Page 13: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS13

CSM18 Conditions to control flow…

• Using a condition, can direct the flow of a program…

If Time > “12:00” Then

Sub Afternoon()

Else

Sub Morning()

End If

Page 14: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS14

CSM18 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

Page 15: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS15

CSM18 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

Page 16: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS16

CSM18 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

eg• Print a number of pages• Get input from a user until a valid entry• Calculate a succession of loan payments

Page 17: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS17

CSM18 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 <> “”

Page 18: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS18

CSM18 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.

Page 19: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS19

CSM18 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

Page 20: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS20

CSM18 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

Page 21: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS21

CSM18 Arrays

StudentsJohn Smith

Jane Green

Mary Brown

Mike Stone

Ashok Din

Profits

1240.00

1775.50

1602.45

1100.70

1450.25

1825.23

1743.10

1250.50

1603.33

1733.24

1679.95

1432.55

1998 1999 2000

1

2

3

4

123456

Quarters

1-Dimensional Array 2-Dimensional

ArrayEleme

ntIndex

IndexDim Students(1 To 6) As String

Dim Students(1 To 6) As String

Dim Profits(1998 To 2000, 1 To 4) As Single

Dim Profits(1998 To 2000, 1 To 4) As Single

Page 22: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS22

CSM18 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) NextNext

Page 23: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS23

CSM18 Program in a Module• Use a module to provide code accessible form 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

Page 24: CSM18 Visual Basic Section 2 Department of Computing UniS 1 CSM18 Further Constructs in VB A statement is the fundamental syntactical element of a program.

CSM18 Visual Basic Section 2 Department of Computing UniS24

CSM18 Program in a Module

Option Explicit ‘Forces declaration of variables

Private Const Max = 10Private Names (1 To Max) As String

Public Sub AddEntry()…..

Public Sub DisplayList()…..