460 likes | 472 Views
Microsoft Visual Basic 2010: Reloaded Fourth Edition. Chapter Eight Sub and Function Procedures. Objectives. After studying this chapter, you should be able to: Explain the difference between Sub and Function procedures Create a Sub procedure Pass information to a procedure
E N D
Microsoft Visual Basic 2010: ReloadedFourth Edition Chapter Eight Sub and Function Procedures
Objectives After studying this chapter, you should be able to: • Explain the difference between Sub and Function procedures • Create a Sub procedure • Pass information to a procedure • Explain the difference between passing data by value and passing data by reference • Explain the purpose of the sender and e parameters Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Objectives (cont'd.) • Associate a procedure with more than one object and event • Create a Function procedure • Convert an Object variable to a different type using the TryCast operator • Utilize a timer control Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Procedures • Procedure: a block of program code that performs a specific task • Two types of procedures: • Function procedure: returns a value after performing its task • Sub procedure: does not return a value Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Sub Procedures • Two types of Sub procedures: event procedures and independent Sub procedures • Event procedure: • Sub procedure that is associated with a specific object and event • Automatically processed when the associated event occurs • Independent Sub procedure: • Collection of code that can be invoked from one or more places in an application • Not associated with an event • Processed only when called (invoked) Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Sub Procedures (cont'd.) • Independent Sub procedures are used to: • Eliminate the duplication of code in different parts of a program • Allow a large, complex application to be broken into small and manageable tasks • Allow multiple programmers to work on an application simultaneously Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-1: How to create an independent Sub procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Sub Procedures (cont'd.) • Independent Sub procedures: • Have a procedure header and procedure footer • Use Pascal case for names • Optionally contain a parameter list • Parameters: • Declared in the procedure header • Store the information passed into the procedure when it is invoked • Call statement: invokes an independent Sub procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Sub Procedures (cont'd.) Figure 8-2: How to call an independent Sub procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Gadis Antiques Application Figure 8-3: Sample run of the Gadis Antiques application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-4: Partial code for the Gadis Antiques application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Including Parameters in an Independent Sub Procedure • Parameter: stores data that is passed to the procedure when the procedure is invoked • When calling a procedure with parameters, you must pass: • The same number of arguments • The same type of arguments • The arguments in the same order as declared in the procedure • Can pass a variable, named constant, literal constant, or keyword as parameter Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables • Each variable has a value and a unique memory address • Variable can be passed to a procedure in two ways: • By value: you pass the variable’s value • By reference: you pass the variable’s address • Passing by value: the procedure receives only the value and cannot change the actual variable’s value • Passing by reference: the procedure receives the address and can make changes to the variable’s value Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Value • Use the keyword ByVal before the parameter in the procedure declaration • ByVal is the default method of passing variables • Procedure cannot change the actual variable’s value Figure 8-5: Sample run of the Pet Information application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-6: Partial code for the Pet Information application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference • Use the keyword ByRef before the parameter in the procedure declaration • Procedure receives the address of the variable and is able to change the variable’s value Figure 8-7: Sample run of the Gross Pay application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-8: CalcGrossPay procedure and calcButton_click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference (cont’d.) • Desk-checking: the process of reviewing the program instructions while seated at your desk instead of in front of a computer • Also called hand-tracing • Choose a set of sample data for input values • Manually compute the expected output values Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference (cont’d.) Figure 8-9: Gross pay calculation using sample input values Figure 8-10: Desk-check table before the Call statement is processed Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference (cont’d.) Figure 8-11: Desk-check table after the Call statement and CalcGrossPay procedure header are processed Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference (cont’d.) Figure 8-12: Desk-check table after the first statement in the CalcGrossPay procedure is processed Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference (cont’d.) Figure 8-13: Desk-check table after the statement in the selection structure’s true path is processed Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Passing Variables by Reference (cont’d.) Figure 8-14: Desk-check table after the CalcGrossPay procedure ends Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Associating a Procedure with Different Objects and Events • Handles keyword: • Appears in event procedure header • Indicates the object and event associated with the procedure • Controls when the procedure is invoked • By default, the event procedure name matches the name of the associated object and event Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-15: Some of the Gadis Antiques application’s code from Figure 8-4 Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Associating a Procedure with Different Objects and Events (cont'd.) • Event procedure: • Name of event procedure can be changed • Can be associated with more than one object and event as long as each event has the same parameters • Add the additional object/events to the Handles clause • Sender parameter: contains the memory address of the object that raised the event • e parameter: contains additional information about the object that raised the event Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Associating a Procedure with Different Objects and Events (cont'd.) Figure 8-16: ClearLabels procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Function Procedures • Functionprocedure (or Function): • Block of code that performs a specific task • Returns a value after completing its task • Visual Basic contains many built-in functions • You can create your own functions with or without parameters • A function is invoked by including its name with any arguments in a statement Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Function Procedures (cont'd.) • Function procedure header: • Asdatatype clause indicates the type of the return value • Function procedure footer statement: • End Function • Returnkeyword: • Sets the value to be returned by the function • Ends the function Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-17: How to create a Function procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Function Procedures (cont'd.) Figure 8-18: How to invoke a Function procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Circle Area Calculator Application Figure 8-19: Sample run of the Circle Area Calculator application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Circle Area Calculator Application (cont’d.) Figure 8-20: Partial code for the Circle Area Calculator application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Converting Object Variables • sender parameter in an event procedure is declared as type Object • Contains the address of the object that raised the event • To access the properties of the object, you must convert it to the appropriate data type • Type casting (or casting): the process of converting a variable from one data type to another • TryCast operator: used to cast a variable to a different data type Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-21: How to use the TryCast operator Microsoft Visual Basic 2010: Reloaded, Fourth Edition
The Full Name Application • User enters a first and last name • Application concatenates both names and displays results Figure 8-22: Sample run of the Full Name application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Figure 8-23: Two ways of writing the Enter event procedures for both text boxes Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using a Timer Control • Timer control: processes code at one or more regular intervals • Timer control does not appear on the form, but in the component tray • Component tray: stores controls that do not appear in the user interface at run time • Interval property:specifies the length of time (in milliseconds) until the next Tick event occurs • Tick event: occurs after each interval has elapsed • Enabled property: must be True for timer to run Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using a Timer Control (cont’d.) Figure 24: Interface for the Timer Example application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Using a Timer Control (cont'd.) Figure 8-25: Code entered in two of the application’s procedures Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Programming Tutorial 1 • The Tri-County Electricity Application Figure 8-27: MainForm in the Tri-County Electricity application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Programming Tutorial 2 • The Concentration Game Figure 8-35: MainForm for the Concentration Game application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Programming Example • Rainfall Calculator Application Figure 8-47: MainForm in the Rainfall Calculator application Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Summary • Function procedures return a value; Sub procedures do not return a value • Event procedure: a Sub procedure associated with one or more objects and events • Independent Sub and Function procedures: not associated with any specific object or event • Call statement: used to invoke a procedure • When calling a procedure, you must pass the same number, type, and order of parameter values as those declared in the procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Summary (cont'd.) • Values can be passed to a procedure by value or by reference • By Value: • Provides only the value of the variable to the procedure • Use the ByVal keyword • By Reference: • Provides the address of the variable to the procedure, allowing the procedure to change the variable’s value • Use the ByRef keyword Microsoft Visual Basic 2010: Reloaded, Fourth Edition
Summary (cont'd.) • Variables in the parameter list in a procedure header have procedure scope • Can modify the Handles clause of an event procedure to associate it with more than one object and event • TryCast keyword: allows you to convert an object from one data type to another • Timer control: used to process code at one or more specified intervals Microsoft Visual Basic 2010: Reloaded, Fourth Edition