1 / 49

Revision

Revision. Sub and Function Procedures. Topics. Sub Procedures Procedure Parameters Function Procedures Modular Design. What is a procedure?. A general procedure is a set of commands that is given a name so that it can be invoked by another part of the program

breena
Télécharger la présentation

Revision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Revision Sub and Function Procedures

  2. Topics • Sub Procedures • Procedure Parameters • Function Procedures • Modular Design

  3. What is a procedure? • A general procedure is a set of commands that is given a name so that it can be invoked by another part of the program • Code written to perform one well-defined subtask is referred to as a Sub procedure or function • Procedures make a program easier to develop, test, and correct

  4. General Procedures • In Visual Basic, there are two types of procedures: • Sub • Function • As a rule, a Sub procedure should perform only one task, or several closely related tasks, and should be kept relatively small • Note: To distinguish procedures from event procedures, Sub and Function procedures are referred to as general procedures.

  5. Sub Procedures Properties: • may be called • may be passed data called arguments • may return values to the calling program • may change the data stored in a received variable

  6. Passing Arguments to Subs: • When you define a Sub procedure, sometimes you need to transfer variables that are used in different Subs. This is called passing in programming languages.

  7. Components of Sub Procedure: • name: used to identify the Sub procedure • parameters: a Sub procedure accepts values from the caller through its parameters. It may also send values back to the caller through its parameters.

  8. Sub Procedure's Name • The rules for naming Sub Procedures are the same as naming variables. • Sub procedure names begin with uppercase letters in order to distinguish them from variable names.

  9. Syntax of a Sub Procedure Private Sub ProcedureName ( ) statement(s) End Sub

  10. Creating Visual Basic Sub Procedure: • Activate the code window • Select Add Procedure from the Tools menu • Type in the name of the Sub procedure • Click on Private in the Scope box • Press the Enter key or click the OK button • Type the statements of the Sub procedure into the code window

  11. Example of Call to a Sub Procedure: Private Sub cmdCompute_Click() Dim num As Single num = Val(InputBox("Enter a number:")) Call Triple(num) End Sub

  12. Sub Procedure Triple: Private Sub Triple(num As Single) ' Multiply the value of the number by 3 picResult.Print "The number is"; 3 * num End Sub

  13. Passing Arguments to Sub Procedures • Arguments : Variables or expressions placed in parentheses in a Call statement. • Not only is the value of the argument passed to the parameter, but the value of the parameter is passed back to the argument.

  14. Example of Arguments • Call Triple(num)

  15. Parameters • Variables placed in parentheses after a Sub Procedure's name. • When the procedure is called, the values of the corresponding arguments are placed in the parameters.

  16. Example of Parameters • Private Sub Triple(num As Single)

  17. Passing arguments to parameters Call Triple(num) Private Sub Triple (num As Single) Argument Parameter

  18. Passing Arguments to Parameters • Call Add (x, y ) • Private Sub Add ( num1 As Single, num2 As Single) Arguments Parameters

  19. Passing Arguments • A Sub procedure receives the location of the arguments, and may use and modify the value of the arguments stored at that location. • Two-way into and out of the Sub Procedure.

  20. Passing Arguments Private Sub cmdDisplay_Click() Dim amt As Single amt = 2 picResults.Print amt; Call Triple(amt) picResults.Print amt End Sub

  21. Sub Triple Private Sub Triple(num As Single) ' Triple a number picResults.Print num; num = 3 * num picResults.Print num; End Sub

  22. Passing Arguments Call Triple(amt) Private Sub Triple (num As Single) amt num

  23. Passing Data - by Reference amt amt amt 2 2 6 6 num num

  24. Important Rules for Passing Arguments to a Sub • The number of arguments and parameters must match. • The data type of each argument must match its corresponding parameter.

  25. Local Variables: • A variable that is used only in a specific procedure (Sub or Function). • The scope of the local variable is the Sub or Function in which that variable has been defined.

  26. Local Variables: • Declared within a procedure definition • Private to a procedure definition • Variables in different procedures are totally independent • Different procedures can have variables with the same names; however, each variable will have its own memory location

  27. Advantages of Local Variables • Extremely useful for team programming • Protects against accidental side effects (change of the value of the variable in one procedure that causes an error in another)

  28. Example of Local Variables Private Sub cmdButton_Click() Dim var1 As Integer, var2 As Integer,num As Integer var1 = 2 var2 = 4 Call Add(num) picBox.Print num End Sub

  29. Sub Add Private Sub Add(num As Integer) Dim var1 As Integer, var2 As Integer num = var1 + var2 End Sub

  30. Form-Level Variables • Form-level variables are visible to every procedure. • Form-level variables appear at the top of the code window.

  31. How to create Form-Level Variables? • Activate the code window • Click on the down arrow to the right of the object list box • Click on General • Click on Declaration in the procedure list box • Type in Dim statements for form-level variables

  32. Example ' In Declaration section of General Dim num1 As Single, num2 As Single

  33. Common Errors • Passing incorrect data types. • Not returning the result of the computation back to the calling program. • The only way that a Sub procedure can return a value is through its arguments

  34. Another Example Private Sub cmdDisplay_Click() ' Demonstrate that variables in a Sub procedure do ' not retain their values in subsequent calls Call Three Call Three End Sub

  35. Sub Three Private Sub Three() Dim num As Single ' Display the value of num and assign it the value 3 picResults.Print num; num = 3 End Sub

  36. What is a function? • Similar to a Sub, performs a specific task • Unlike a Sub, returns asingle value to the calling program

  37. Types of Functions • Standard functions (built-in) • User-defined functions

  38. User-Defined Function • A function returns a single value • The value is returned by assigning a value to the name of the function • The values of the parameters of a function should not be used for returning values from a function

  39. The Function Syntax Private Function FunctionName(parameter-list) As dataType Statement(s)…… ….. FunctionName = value End Function • Note: value must be of the type dataType specified in the function declaration

  40. Example of a Function(using a function to change from Fahrenheit to Celsius) Private Sub cmdConvert_Click() picTempC.Cls picTempC.Print FtoC(Val(txtTempF.Text)) End Sub Private Function FtoC(t As Single) As Single ‘ Convert Fahrenheit temperature to Celsius FtoC = (5 / 9) * (t - 32) End Function

  41. Rules for Defining and Calling a Function • User-defined function must include a statement that assigns the function name a value. • User-defined functions are called in the same way that built-in functions are called. • A user-defined function may be called in an expression.

  42. Returning Value A function can receive many values Only one value can be directly returned Chapter 4 - Visual Basic Schneider

  43. Example of a Function Private Sub cmdDetermine_Click() Dim nom As String nom = FirstName(txtFullName.Text) picFirstName.Print "The first name is “; nom End Sub Private Function FirstName(nom As String) As String Dim firstSpace As Integer firstSpace = InStr(nom, " ") FirstName = Left(nom, firstSpace - 1) End Function

  44. Common Errors • Passing incorrect data types • Not specifying the data type of the returned value • Not assigning a value to the Function name inside the Function definition • Misspelling of the Function name

  45. Further Examples Private Sub cmdDisplay_Click() Call DisplayVolume(1, 2) Call DisplayVolume(3, 4) End Sub Private Sub DisplayVolume(r As Single, h As Single) PicOutput.Print "Volume of cylinder with base area "; Area(r) PicOutput.Print "and height"; h; "is"; h * Area(r) End Sub Private Function Area(r As Single) As Single Area = 3.14159 * r ^ 2 End Function

  46. Another Example Private Sub cmdDisplay_Click() Dim a As String a = “Choo ” picOutput.Print TypeOfTrain() End Sub Private Function TypeOfTrain() As String Dim a As String a = a & a TypeOfTrain = a & “train” End Function Output:

  47. Last Example Private Sub cmdDisplay_Click() Dim num As Single num = 5 picOutput.Print Triple (num) picOutput.Print num End Sub Private FunctionTriple(x As Single) As Single Dim num As Single num = 3 Triple= num * x End Function Output:

More Related