Presentation is loading. Please wait.

Presentation is loading. Please wait.

STARTING OUT WITH Visual Basic 2008

Similar presentations


Presentation on theme: "STARTING OUT WITH Visual Basic 2008"— Presentation transcript:

1 STARTING OUT WITH Visual Basic 2008
FOURTH EDITION Tony Gaddis Haywood Community College Kip Irvine Florida International University

2 Procedures And Functions
Chapter Procedures And Functions 6 A procedure is a collection of statements that performs a task Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

4 Procedures 6.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 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

6 Sample Procedure, Tutorial 6-1
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 Sub DisplayMessage() 'A Sub procedure that displays a message. lstOutput.Items.Add("") lstOutput.Items.Add("Hello from DisplayMessage.") End Sub

7 Declaring a Procedure [AccessSpecifier] Sub ProcedureName ([ParameterList]) [Statements] End Sub 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

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

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

10 Passing Arguments to a Procedure
6.2 When calling a procedure, you can pass it values known as arguments Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

12 Passing Arguments By Value
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 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

13 Passing Multiple Arguments
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 Integer intSum = intNum1 + intNum2 MessageBox.Show("The sum is " & intSum.ToString) End Sub Multiple arguments separated by commas Value of first argument is copied to first Second to second, etc.

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

15 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

16 6.3 Functions A Function Returns a Value to the Part of the Program That Called the Function Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

17 Declaring a Function New keyword Function
[AccessSpecifier] Function FunctionName ([ParameterList]) _ As DataType [Statements] End 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

18 Function Call Example sngValue1 & sngValue2 must be data type Single
sngTotal = Sum(sngValue1, sngValue2) Function Sum(ByVal sngNum1 As Single, _ ByVal sngNum2 As Single) As Single Dim sngResult As Single sngResult = sngNum1 + sngNum2 Return 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

19 Returning Nonnumeric Values
Function FullName(ByVal strFirst As String, _ ByVal strLast As String) As String Dim strName As String strName = strLast & ", " & strFirst Return strName End Function Function IsValid(intNum As Integer) As Boolean Dim blnStatus As Boolean If intNum >= 0 And intNum <= 100 Then blnStatus = True Else blnStatus = False End If Return blnStatus End Function

20 6.4 More About Debugging Step Into Step Over Step Out
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

22 Building the Bagel and Coffee Price Calculator Application
6.5 Building the Bagel and Coffee Price Calculator Application Use procedures and functions to calculate the total of a customer order. Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

23 Bagel and Coffee Price Calculator

24 Button Click Event Flowcharts
Calculate Button Reset Button

25 Cost Calculation Functions
Topping Cost Function Bagel Cost Function

26 Cost Calculations Functions
Coffee Cost Function Calc Tax Function


Download ppt "STARTING OUT WITH Visual Basic 2008"

Similar presentations


Ads by Google