Functions

Sub procedure:

Sub: Declares the name, arguments and code that form the body of a Sub procedure.

Syntax:

 Sub name [(arglist)] 
   [statements]
   [Exit Sub]
   [statements]
End Sub


Arguments:

Public: Indicates that the Sub procedure is accessible to all other procedures in all scripts.
Default: Used only with the Public keyword in a Class block to indicate that the Sub procedure is the default method
for the class. An error occurs if morethan one Default procedure is specified in a class.
Private: Indicates that the Sub procedure is accessible only to other procedures in the script where it is declared.
name:
Name of the Sub; follows standard variable naming conventions.
arglist: List of variables representing arguments that are passed to the Sub procedure when it is called. Commas
separate multiple variables.
statements: Any group of statements to be executed within the body of the Sub procedure.

Example:

Addition 5 , 4
 
Sub Addition( num1,num2)
 
Result=num1+num2
Msgbox  "The Sum of the numbers is    "  &  Result
 
End Sub

Function:
 
Declares the name, arguments, and code that form the body of a Function procedure.

Syntax:

Function name [(arglist)]
   [statements]
   [name = expression]
   [Exit Function] 
   [statements]
   [name = expression]
End Function


Arguments:

Public: Indicates that the Function procedure is accessible to all other procedures in all scripts.
Default: Used only with the Public keyword in a Class block to indicate that the Function procedure is the default method
for the class. An error occurs ifmore than one Default procedure is specified in a class.
Private:  Indicates that the Function procedure is accessible only to other procedures in the script where it is declared or if the  function is a member of aclass, and that the Function procedure is accessible only to other procedures in that class.
name: Name of the Function; follows standard variable naming conventions.
arglist: List of variables representing arguments that are passed to the Function procedure when it is called. Commas separate multiple variables.
statements: Any group of statements to be executed within the body of the Function procedure.
expression: Return value of the Function.

Example:

Result=Addition(5,4)

Msgbox  "The sum of the number is " & Result 

Function Addition( num1,num2) 
Addition=num1+num2 
End Function  

Call:  

Transfers control to a Sub or Function procedure.

Syntax:

[Call] name [argumentlist]

Arguments:

Call: (Optional) keyword, If specified, you must enclose argumentlist in parentheses.
name: (Required) Name of the procedure to call.
argument list: (Optional) Comma-delimited list of variables, arrays, or expressions to pass to the procedure.

Example:

'Call a Sub procedure
Call Addition(5 , 4)
 
Sub Addition( num1,num2)
Result=num1+num2
Msgbox  "the Sum of the numbers is    "  &  Result
 
End Sub

Function Library & Associating Function library to a Test

Different Types of Library files
Different types of library files are ".qfl" files,".Vbs" files

Steps to follow to create Function Library:

1. Functions are created manually:
     File-->New-->Function library(Enter the functions)

2. Save the functions:
      File--> Save (File is saved as .qfl file)

3. Associating Function library to a Test:
     Test --> Settings --> Choose Resources tab --> Choose + button so select the ".qfl" file --> browse and select the ".qfl" file -->
      click OK.


How to use library files in QTP & how we can call these files in to script?

We can load the external Library files by using 2 ways:

1. Choose Test --> Settings --> Choose Resources tab --> Choose + button so select the library file -->  browse and select the 
     library file --> click OK.

2.  We can load the library files using Scripting:

Use execute file function to load library files:

Step1. Open a notepad and paste the below function

Example: 

'Code in External Library file(sample.vbs file).
 
function SumOfTwoNumbers(a,b)
Dim sum
sum=a+b
SumOfTwoNumbers=sum
End Function

 
Step2. Save the notepad as a .vbs file(sample.vbs) in path "D:\Sample.vbs"

Step3. Paste the below code in QTP and execute,You will find that the below code access function from the "sample.vbs" file

Example:

executefile "D:\Sample.vbs"
x=10
y=5
result=SumOfTwoNumbers(x,y)
msgbox result