Web Development Information

Functions and Subroutines in ASP


Functions and Subroutines in ASP

If you read our Tutorial on Include Files (SSI) then you learned how to encapsulate ASP code within include files and the benefits it brings us.

As developers, we should endeavour to make our lives easier wherever possible... no one wants to re-invent the wheel after all.

Functions and Subroutines exist to not only save us time, but to bring power to our ASP.

They are just another way of encapsulating code, but have a lot more functionality than just 'saving some code for later'.

First, let's look at Functions... Imagine a balloon salesman in the street. We've all seen them they require one piece of information when you buy a balloon, the colour.
Let say we asked for a red balloon... The balloon salesman armed with this 'information' then does a pretty basic action... he hands you the balloon. The balloon you received is a direct result of the information you gave the balloon seller.

Functions are just the same... they return to you a value based on the information you provided. Lets look at an example Function: -

<%
Function getBalloon(strColour)
Dim Tempstr
strColour = lcase(strColour) 'This converts the value lowercase.
Select Case strColour
Case "red" Tempstr = "Here is your red balloon"
Case "yellow" Tempstr = "Here is your yellow balloon"
Case "green" Tempstr = "Here is your green balloon"
Case "blue" Tempstr = "Here is your blue balloon"
Case Else Tempstr = "Sorry, we have sold out of that Colour"
End Select
getBalloon = Tempstr
End Function
%>

A Function is passed some information. The information we pass a Function, is known as an 'argument'. The information we get back from a Function is known as the 'return value'. Whilst a Function can have many arguments, it can only have one return value.

Let us look at one more example: -

<%
Function calcTax(amount, taxrate)
Dim Tempvar
Tempvar = amount * (taxrate / 100)
CalcTax = Round(Tempvar, 2) 'round the result to 2 decimal places
End Function
%>

Again, another basic example. We should notice this time that the Function accepts two arguments.

By now, we have some idea of how to write a Function. How do we use one?
Let me show you now how we can use the calcTax example.

<%
shoppingbill=goodsTotal + calcTax(goodsTotal,17.5)
Response.Write "Your shopping came to £" & goodsTotal
Response.Write "
VAT amount = £" & calcTax(goodsTotal)
Response.Write "Total Amount Due = £" & shoppingbill
%>

Above you see the example function in action... easy huh!

I have tried to make understanding Functions as easy as possible... Understanding a Subroutine (Sub) is now going to be easy for you. Imagine a block of code that performed some instructions based on information you gave it...
Sounds very much like a function, doesn?t it? Well this time, we do not get anything back. A sub does NOT pass back information it just uses the data we give it for some purpose.

I will use only one example of a Sub, and in the same example make use of the sub: -

<%
Sub Bday(strName, intAge)
Response.Write "Happy Birthday " & Name
Response.Write ", You are " & intAge & " years old today"
End Sub

'now, call the sub
bDay "Joe",26
%>

The above Sub, demonstrates my point. We put something in, it performs an action (in this case writing to the screen), but nothing is returned to us in the code. One thing that REALLY IS important when using a sub, is that we do not put brackets around the arguments... Because we do not have a return value we do not need brackets and in this case, if we try we will get an error.

Well, that just about concludes this article. We should by now be writing efficient code with the use of Functions and Subs. Don?t forget that if you use your functions and subs in multiple pages then you should really store them within include files for reasons of easy maintenance and better performance.

Rob Collyer, experienced with 20 years programming knowledge and site administrator of www.webforumz.com - Copyright 2003-2004


MORE RESOURCES:

Quality Magazine (blog)

Shifting the Paradigm: Enterprise-Process Goal Setting
Quality Magazine (blog)
The implication of Nelson's statement is that simple goal setting alone will not yield an improved output. For an enhanced process response, organizations need to give due diligence to bettering the process. Focus needs to be given to the creation of ...



Make Life Meaningful Monday: Goal Setting
Crookston Daily Times (blog)
I think I've taken goal setting to the level of art-form. I make spiritual growth goals, homemaking goals, parenting goals, exercise goals…you name it! And I don't just set giant goals, like vacationing in Europe next year or running a marathon.



The Bay City Times - MLive.com

Public welcome at Bay City goal-setting session Saturday morning
The Bay City Times - MLive.com
9 goal-setting session, the Bay City Commission agreed to create a list of what residents want to see. That exercise turned into a list of 34 items that attendees at Monday night's Town Hall meeting were asked to help prioritize.
Trenton Robinson complaint investigation complete, Bay City police chief saysMLive.com

all 11 news articles »


City Council plans retreat
Salisbury Post
With the theme “Evaluating Opportunities,†City Council's 27th Annual Future Directions and Goal-Setting Retreat, set for Thursday and Friday at the Rowan Museum (202 N. Main St.), will include presentations on everything from crime to tourism to ...



Petoskey News-Review

Boyne City goal-setting still under way
Petoskey News-Review
12 city goal-setting session at St. Matthew parish hall in Boyne City. Last time around, the vast majority of participants in the exercise shared their two cents without attending the public meeting, either. "It's a more comprehensive review of things ...



New York Post

Giants win NFC Championship on OT field goal, setting up Super Bowl rematch vs ...
New York Post
By PAUL SCHWARTZ SAN FRANCISCO — On the road. In the NFC Championship. In overtime. The Patriots, already in, awaiting the winner. Harsh weather affecting every move. A draining, physical battle. A field goal to win it. “Everything that happened is ...

and more »


GUEST COLUMN: Setting goals is about making choice to succeed
insideTORONTO.com
In my former life as a manager with a global company goal setting was ubiquitous - and mandatory. I learned a lot about setting goals, although probably more about the technique than the why. Then I started a career consulting business.

and more »


New Goal-Setting Toolkit Available from Innovation Strategist Lea Strickland
NCTechNews (press release)
(Cary, NC) A new goal-setting toolkit for personal and professional success is now available at no charge from international strategic business consultant and noted expert on how to start and manage a profitable business, Lea Strickland, ...



Council Holds Goal Setting Session
KIMT
MASON CITY, IA- We told you last week about the Curbside Chat. That's when a representative from a Minnesota non-profit group stopped by Mason City. Their goal was to share ideas when it comes to running a town, and even changing perspectives if ...
Council sets goals for yearMason City Globe Gazette

all 2 news articles »


Ottumwa City Council to hold special meeting
KTVO
by Kate Allt OTTUMWA, IOWA -- The Ottumwa City Council will be holding a special goal-setting meeting on Wednesday, February 8. The meeting will cover the accomplishments of the city since their last goal-setting session, the current issues and ...


Google News

home | site map | ArticleGecko | A ClashX Production 2006
© 2006