I just realized in my haste to get out a piece of code celebrating the XBOX 360 contest, I negected to give a proper answer for our discussion on subroutines and functions in a vbscript.
In this installment, we’ll explain how to build a function and a subroutine a bit better. First, remember functions and subroutines are basically smaller pieces of your script — they essentially are the work horse of your script.
They both get passed information when they are called and preform their work according to what the information they have been given. These values passed can literally be anything you need to make the subroutine or function work but are generally only what the function needs to preform it’s work. You can reference the whole blog entry here.
Basically, you can build a subroutine like so:
‘… your code here
You would call this subroutine like so:
MySub “This Value”
Notice that I didn’t use Parenthesis, you don’t when calling a subroutine. The value you pass the subroutine can be variable (XVariable), a literal number (10), a string (“This Value”), or any other specific item you need to pass into the subroutine– even an array, providing you’re expecting the variable type!
Functions are the exact same as subroutines except in the label when you create them and in that they can return a value.
To create a function you:
‘… your code here
MyFunction = X
To call a function you use parenthesis, unlike a subroutine, like so:
X = MyFunction (XVariable)
X = MyFunction (10)
X = MyFunction (“This Value”)
Notice the line in red? This is the line of the function that does the magic of returning a value! It essentially works on the premise that the function name is a variable in the function that is always there. at the end of the function’s work the value is passed back to the calling routine as the return value– and it does this automatically.
Also notice how I changed the line to call a function? I placed a variable, X, in front of the function and set X equal the return of the function. You can also use a function in comparisons like so:
If Myfunction(10) = 1 then
‘your code here
So, we’ve covered the creation and calling of a subroutine, the creation and calling of a function, how to assign a value to the return of a function, and how to use the return from the function.
From this point, you can use your imagination for when and where to use functions and subroutines!