Tải bản đầy đủ (.ppt) (34 trang)

Lecture Learning programming using Visual Basic Net – Chapter 6 Reducing program complexity General sub procedures and developerdefined functions

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (79.98 KB, 34 trang )

CHAPTER SIX
Reducing Program Complexity
General Sub Procedures and
Developer-defined Functions


6- 2

Introduction

• Three important consideration help us design,
construct, and maintain complex programs:
1. Break complex tasks into smaller “subtasks.”
2. Give each subtask a descriptive name.
3. Find processing tasks that have subtasks
in common.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6- 3

Objectives
• Share code by creating general sub procedures
and functions.
• Use parameters to share data between
procedures and functions.
• Use code modules to organize code for


reusability.
• Use the KeyPress, Enter, and Leave events.
• Use the concept of form modality.
• Create and program main menus.
McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6- 4

6.1 General Sub Procedures

• We must be very precise in writing the criterion
and alternative actions for decisions.
• In a program,
– A condition is represented as an expression.
– An outcome is the result of an evaluated
condition.
– An appropriate action follows the outcome.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6- 5


6.1 General Sub Procedures (cont.)



Using General Sub Procedures in a Project
– Eliminate inconsistencies by placing common
statements in a general sub procedure.
– Apply a descriptive name for the sub procedure.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6- 6

6.1 General Sub Procedures (cont.)

• Execution of General Sub Procedures
– Names of event procedures always end with an
underscore followed by the type of event.
– Names of general sub procedures do not.
– A procedure call invokes a procedure.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.



6- 7

6.1 General Sub Procedures (cont.)

• Local Variables in General Sub Procedures
– General sub procedures can access module-level
and global variables.
– They have their own variables.
– Procedure-level variables are not related to other
procedures.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6- 8

6.1 General Sub Procedures (cont.)
• General Sub Procedures and Project Structure
– Locating a General Sub Procedure in the Code
Window
• We enter and view event procedures in the Code
window.
• We also enter and view general sub procedures in
the Code window.
• Scroll to find a procedure’s heading.


McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6- 9

6.1 General Sub Procedures (cont.)
– Procedure Scope
• Determines which procedure’s can invoke it.
• Private and Public.

– Code Modules
• Can contain general sub procedures.
• Help to organize a project.
• Can be included in many different projects.

– Project Structure
• See Figure 6.13 of textbook.
McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6.1 General Sub Procedures (cont.)

• Creating General Sub Procedures
– Start from the Code window of a form or code

module.
– Enter header for the sub procedure.
– Enter general sub procedure statements.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

610


6.2 Procedures with Parameters
• Drawbacks of Module-Level and Global
Variables
– Public access can mean trouble for some
variables.
– Procedures wanting to share data using the
global variable have to “know” its name.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

611


6.2 Procedures with Parameters (cont.)
• Parameter Passing

– Sending data from the calling to the called
procedure.
– Parameter Lists
• List of data items a procedure expects any calling
procedure to send it.

– Procedure Calls with Parameters
• See Figure 6.16 in textbook.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

612


6.2 Procedures with Parameters (cont.)
– Analyzing Procedures That Use Parameters
• Hand-Check parameter passing.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

613


6.2 Procedures with Parameters (cont.)

• Multiple Parameters
– A parameter list is key.
– Every parameter list should contain:






Number of arguments.
Types of arguments.
Sequence of arguments.
Names arguments are referred to.
What the parameters and arguments represents?

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

614


6.2 Procedures with Parameters (cont.)

615

• Passing by Reference and Passing by Value
– ByRef keyword is short for “By Reference.”
• Parameter and argument refer to the same

variable.
• Only way a sub procedure can change the value it
is passed.

– ByVal keyword is short for “By Value.”
• Specifies that the called procedure cannot change
the value stored in a variable passed to it.
• Parameter is a local copy of the passed argument.
McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6.2 Procedures with Parameters (cont.)
• Passing Expressions
– Calling procedure can pass an expression.

• Correcting Common Mistakes in Parameter
Passing
– Arguments Not Specified
• Number of arguments must match parameters.

– Invalid Cast Exception
• Parameter and argument type mismatch.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


616


6.2 Procedures with Parameters (cont.)

617

– Arguments Out of Order
• Arguments and parameters must be associated by
position, not by name.

– Conflict between Parameter Name and Local
Variable Name
• Parameter name and local variable names must be
different.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6.2 Procedures with Parameters (cont.)

618

• General Sub Procedures versus Event
Procedures
– An event procedure is always associated with a

control.
– Developers create the procedure heading for a
general sub procedure.
– Visual Basic .NET creates the procedure heading
for an event procedure.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6.2 Procedures with Parameters (cont.)

• General Sub Procedures versus Event
Procedures and the Object Paradigm
– We have created a form class.
– We also created two methods.
• One was event procedure.
• The other was a general sub procedure.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

619


6.3 Developer-Defined Functions







Perform calculations or string manipulations.
Return values.
Use Return statements.
Function headings include type specifications.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

620


6.3 Developer-Defined Functions (cont.)

• Creating Functions
– Follow the same steps to create a general sub
procedure.
– Use the keyword Function instead of Sub.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


621


6.4 Code Modules
• Sub Main
– Use to begin execution of the program by
executing a general sub procedure.
– Select in the Misc Property Pages dialog box
under the Project menu.
– You must create a public general sub procedure
named Main in a code module.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

622


6.4 Code Modules (cont.)

• Libraries
– Programmers organize reusable code for easy
access.
– A collection of code modules in categories is
called a library.

McGraw Hill/Irwin


©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

623


6.5 The KeyPress Event

624

• Enables your programs to respond to keystrokes
made by the user.
• Any control that can have the focus is able to
respond to this event.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.


6.5 The KeyPress Event (cont.)
• The KeyPress Event for TextBox Controls
– User presses a key.
– Visual Basic .NET stores ANSI character of the
key.
– Visual Basic .NET begins KeyPress event
procedure.
– The code will determine the disposition of the

keypress.

McGraw Hill/Irwin

©2002 by The McGraw-Hill Companies, Inc. All
rights reserved.

625


×