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- 10 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. 6- 11 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. 6- 12 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. 6- 13 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. 6- 14 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. 6- 15 6.2 Procedures with Parameters (cont.) • 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- 16 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. 6- 17 6.2 Procedures with Parameters (cont.) – 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- 18 6.2 Procedures with Parameters (cont.) • 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- 19 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. 6- 20 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. 6- 21 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. 6- 22 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. 6- 23 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. 6- 24 6.5 The KeyPress Event • 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- 25 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. 6- 26 6.5 The KeyPress Event (cont.) – The SendKeys Class • Used to send any keystroke to an application. • Keystrokes are represented by codes. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 27 6.6 The Enter and Leave Events • Enter event occurs for a control when the control receives the focus. • Leave event occurs for a control when the control loses the focus. • Both events are triggered by the user or by code. • Help to make an application more intuitive for the user. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 28 6.7 Modal versus Modeless Forms • Most real-world applications use multiple forms. • Form modality controls how a form is displayed. – When a modal form is shown, other forms become inactive. – When a modeless form is displayed, both its controls and the controls on other forms are active. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 29 6.7 Modal versus Modeless Forms (cont.) • Modal Forms – A message box is the simplest example. – User must click OK to return control to the procedure. • Presenting a Sequence of Forms – Using modeless forms • Control code must be written within each form. – Using modal forms • Control of all forms can be in a one procedure. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 30 6.8 The MainMenu Control • Start by right-clicking on the MainMenu control in the component tray. • Then select Edit Menu from the pop-up menu. • Enter both main and sub menu items. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 31 Chapter Summary • General sub procedures and developer-defined functions break programming into small parts. • A general sub procedure performs a specific processing task. • Developers can use a library of procedures performing common tasks. • General sub procedures are not linked to any control on a form. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 32 Chapter Summary (cont.) • General sub procedures can be called from other general sub procedures or from event procedures. • A developer-defined function returns a single value when it executes. • Procedures and functions can use parameters to share data. • An argument can be passed to a procedure or function either by reference or by value. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 33 Chapter Summary (cont.) • The KeyPress event procedure has a parameter that determines the key that the user has pressed. • The Enter event occurs when the user gives the focus to a control. • Form modality refers to the way forms react when two or more forms are displayed at one time. • Form modality is specified by the type of Show method used. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved. 6- 34 Chapter Summary (cont.) • Applications can incorporate a main menu bar by using the MainMenu control. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved.
© Copyright 2026 Paperzz