+ All Categories
Home > Documents > Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING...

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING...

Date post: 26-Mar-2015
Category:
Upload: nicholas-andrews
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
26
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 Visual Basic 2008 FOURTH EDITION Tony Gaddis Haywood Community College Kip Irvine Florida International University
Transcript
Page 1: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1

STARTING OUT WITH

Visual Basic 2008FOURTH EDITION

Tony GaddisHaywood Community College

Kip IrvineFlorida International University

Page 2: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Chapter

Procedures And Functions6

A procedure is a collection of statements that performs a task

Page 3: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 3

Introduction

A procedure is a collection of statements that performs a task Event handlers are a type of procedure

A function is a collection of statements that performs a task and returns a value to the VB statement that executed it Functions work like intrinsic functions, such as CInt and IsNumeric

A method can be either a procedure or a function

Page 4: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Procedures6.1

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

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

Procedures

Page 5: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 5

Procedure Uses

Ann event handler is a type of procedure Automatically executed when an event such as

a mouse click occurs General purpose procedures are triggered by

statements in other procedures, not by events Procedures help simplify & modularize code by:

Breaking it into small, manageable pieces Performing a task that is needed repeatedly Dividing a program into a set of logical tasks

Page 6: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 6

Sample 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 procedure

Returns to btnGo_Click

Page 7: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 7

Declaring a 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])[Statements]

End Sub

Page 8: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 8

More on the Access Specifier Private allows use only from that form Public allows use from other forms If not specified, default is Public There are other access specifiers such as:

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: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 9

Procedures and Static Variables Variables needed only in a procedure, should be

declared within that procedure Creates a local variable with scope only within

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

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 still only within the procedure But variable exists for lifetime of application

Page 10: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Passing Arguments to a Procedure6.2

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

Page 11: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 11

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

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

as an argument A procedure must be declared with a parameter

list in order to accept an argument

Page 12: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 12

Passing Arguments By Value

intNumber declared as an integer argument Storage location intNumber created by procedure A value, 5 in this case, must be supplied and is

copied into the storage location for intNumber The DisplayValue procedure then executes Tutorial 6-3 demonstrates passing arguments

DisplayValue(5) ‘calls DisplayValue procedure

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

End Sub

Page 13: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 13

Passing Multiple Arguments

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

ShowSum(intValue1, intValue2) ‘calls ShowSum procedure

Sub ShowSum(ByVal intNum1 As Integer, _ByVal intNum2 As Integer)

' This procedure accepts two arguments, and prints' their sum on the form.Dim intSum As IntegerintSum = intNum1 + intNum2MessageBox.Show("The sum is " & intSum.ToString)

End Sub

Page 14: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 14

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

Page 15: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

ByVal or ByRef Argument Example

Tutorial 6-4 demonstrates the difference between parameters passed ByVal & ByRef Passed ByVal Calling procedure does not

“see” changes made to the value of an argument

Passed ByRef Calling procedure “sees”

changes made to the value of an argument

Slide 6- 15

Page 16: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Functions6.3

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

Function

Page 17: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 17

Declaring a Function

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 18: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 18

Function Call ExamplesngTotal = Sum(sngValue1, sngValue2)

Function Sum(ByVal sngNum1 As Single, _ByVal sngNum2 As Single) As Single

Dim sngResult As SinglesngResult = sngNum1 + sngNum2Return sngResult

End Function

sngValue1 & sngValue2 must be data type Single Data types must agree with parameter list

sngTotal must be Single, agrees with return value Tutorial 6-5 demonstrates function use

Page 19: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 19

Returning Nonnumeric Values

Function IsValid(intNum As Integer) As BooleanDim blnStatus As BooleanIf intNum >= 0 And intNum <= 100 Then

blnStatus = TrueElse

blnStatus = FalseEnd IfReturn blnStatus

End Function

Function FullName(ByVal strFirst As String, _ByVal strLast As String) As String

Dim strName As StringstrName = strLast & ", " & strFirstReturn strName

End Function

Page 20: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

More About Debugging6.4

Step Into

Step Over

Step Out

Page 21: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 21

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 22: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Building the Bagel and Coffee Price Calculator Application

6.5

Use procedures and functions to calculate the total

of a customer order.

Page 23: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Bagel and Coffee Price Calculator

Slide 6- 23

Page 24: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Button Click Event Flowcharts

Slide 6- 24

Calculate Button Reset Button

Page 25: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Cost Calculation Functions

Slide 6- 25

Bagel Cost FunctionTopping Cost

Function

Page 26: Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1 STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Cost Calculations Functions

Slide 6- 26

Calc Tax FunctionCoffee Cost Function


Recommended