chapter 6, slide 1starting out with visual basic 3 rd edition chapter 6 sub procedures and functions

21
Chapter 6, Slide 1 Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Upload: isabella-horton

Post on 27-Mar-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 1 Starting Out with Visual Basic 3rd Edition

Chapter 6

Sub Procedures

And Functions

Page 2: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 2 Starting Out with Visual Basic 3rd Edition

Chapter 6Introduction

A procedure is a collection of statements that performs a task.

Page 3: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 3 Starting Out with Visual Basic 3rd Edition

Chapter 6 Topics

A Sub procedure is a collection of statements that performs a task• An abbreviation of the older term subroutine• Event procedures are Sub procedures

A Function procedure is a collection of statements that performs a task and returns a value to the VB statement that executed it• Function procedures work like intrinsic

functions, such as Val and IsNumeric A method is a procedure declared in a class

Page 4: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 4 Starting Out with Visual Basic 3rd Edition

Section 6.1Sub Procedures

You Can Write Your Own General Purpose Sub Procedures That Perform Specific Tasks

General Purpose Sub Procedures Are Not Triggered by Events but Called From Statements in Other Procedures

Page 5: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 5 Starting Out with Visual Basic 3rd Edition

Sub Procedure Uses

May handle events such as a click event Also used to simplify a program by

• Breaking it into small, manageable pieces or• Performing a task that is needed repeatedly

Sub procedures help to modularize code• Divides a program into a set of logical tasks

Page 6: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 6 Starting Out with Visual Basic 3rd Edition

Sample Sub Procedure, Tutorial 6-1

Sub DisplayMessage()'A Sub procedure that displays a message.lstOutput.Items.Add("")lstOutput.Items.Add("Hello from DisplayMessage.")lstOutput.Items.Add("")

End Sub

Private Sub btnGo_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles btnGo.Click' This procedure calls the DisplayMessage procedure.lstOutput.Items.Add("Hello from btnGo_Click procedure.")lstOutput.Items.Add("Calling the DisplayMessage " & _

"procedure.")DisplayMessage()lstOutput.Items.Add("Now I am back in the btnGo_Click

procedure.")End Sub

Calls DisplayMessage procedureReturns to btnGo_Click

Page 7: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 7 Starting Out with Visual Basic 3rd Edition

Declaring a Sub Procedure

AccessSpecifier is optional and establishes accessibility to the program

Sub and End are keywords ProcedureName used to refer to procedure

• Use Pascal casing, capitalize 1st character of the name and each new word in the name

ParameterList is a list of variables or values being passed to the sub procedure

[AccessSpecifier] Sub ProcedureName ([ParameterList])[Statement(s)]

End Sub

Page 8: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 8 Starting Out with Visual Basic 3rd Edition

More on Access Specifier Private allows use only from that form or class Public allows use from other forms or classes If not specified, default is Public Additional access specifiers:

• Protected• Friend• Protected Friend• These will be discussed in later chapters

Access specifiers won’t be used for now Practice writing procedures in Tutorial 6-2

Page 9: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 9 Starting Out with Visual Basic 3rd Edition

Procedures and Static Variables Variables needed only in a Sub procedure,

should be declared within the Sub procedure• Creates a local variable with scope only within

the sub procedure where declared• Local variable values are not saved from one

sub procedure call to the next To save value between procedure calls, use

Static keyword to create a static local variable• Static VariableName As DataType

• Scope is only within the procedure• But variable exists for lifetime of procedure

Page 10: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 10 Starting Out with Visual Basic 3rd Edition

Section 6.2Passing Arguments to a

Sub Procedure

When calling a procedure, you can pass it values known as arguments

Page 11: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 11 Starting Out with Visual Basic 3rd Edition

Arguments

Argument – a value passed to a procedure We’ve already done this with functions

• Value = CInt(txtInput.Text)• Calls CInt function and passes txtInput.Text

A Sub must be declared so it accepts an argument

Page 12: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 12 Starting Out with Visual Basic 3rd Edition

Passing Arguments By Value

Number declared as an integer argument Storage location number created A value, 5 in this case, must be supplied and

is copied into the storage location for number DisplayValue then executes Tutorial 6-3 demonstrates passing arguments

DisplayValue(5) ‘calls DisplayValue procedure

Sub DisplayValue(ByVal number As Integer)' This procedure displays a value in a message box.MessageBox.Show(number.ToString)

End Sub

Page 13: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 13 Starting Out with Visual Basic 3rd Edition

Passing Multiple Arguments

Multiple arguments separated by commas Value of first argument is copied to first Second to second, etc.

ShowSum(5, 10) ‘calls ShowSum procedure

Sub ShowSum(ByVal num1 As Integer, ByVal num2 As Integer)' This procedure accepts two arguments, and prints' their sum on the form.Dim sum As Integersum = num1 + num2MessageBox.Show("The sum is " & sum.ToString)

End Sub

Page 14: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 14 Starting Out with Visual Basic 3rd Edition

Passing Arguments ByVal or ByRef Arguments are usually passed ByVal

• New storage location created for procedure• Storage location gets a copy of the value• Any changes in value are made to the copy• Calling procedure won’t “see” the changes

Arguments can also be passed ByRef• Procedure points to (references) argument’s

original storage location• Any changes are made to the original value• Calling procedure “sees” the changes

Tutorial 6-4 demonstrates this difference

Page 15: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 15 Starting Out with Visual Basic 3rd Edition

Section 6.3Function Procedures

A Function Procedure Returns a Value to the Part of the Program That Called the Function

Procedure

Page 16: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 16 Starting Out with Visual Basic 3rd Edition

Declaring a Function Procedure

New keyword Function Also new is As DataType which states the

data type of the value to be returned Return value is specified in a Return

expression

[AccessSpecifier] Function FunctionName ([ParameterList]) _As DataType

[Statements]End Function

Page 17: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 17 Starting Out with Visual Basic 3rd Edition

Function Call Example

total = Sum(value1, value2)

Function Sum(ByVal num1 As Single, ByVal num2 As Single) _As Single

Dim result As Singleresult = num1 + num2Return result

End Function

value1 and value2 must be data type Single Total must be declared as data type Single Tutorial 6-5 demonstrates function use

Page 18: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 18 Starting Out with Visual Basic 3rd Edition

Returning Nonnumeric Values

Function IsValid(num As Integer) As BooleanDim status As BooleanIf num >= 0 And num <= 100 Then

status = TrueElse

status = FalseEnd IfReturn status

End Function

Function FullName(ByVal first As String, ByVal last As String)_As String

Dim name As Stringname = last & ", " & firstReturn name

End Function

Page 19: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 19 Starting Out with Visual Basic 3rd Edition

Section 6.4More About Debugging

Step Into

Step Over

Step Out

Page 20: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 20 Starting Out with Visual Basic 3rd Edition

Debugging Involving Procedures

Step Into - continue to debug by single-stepping through a procedure

Step Over - run procedure without single-stepping, continue single-step after the call

Step Out - end single-stepping in procedure, continue single-step after the call

Tutorial 6-6 provides examples

Page 21: Chapter 6, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 6 Sub Procedures And Functions

Chapter 6, Slide 21 Starting Out with Visual Basic 3rd Edition

Section 6.5Building the Bagel and Coffee Price Calculator

Application

Use Sub procedures and functions to calculate the total of a customer order.