Harmony Hollow Software Special web hosting offer - LIMITED TIME ONLY


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

Add to these social bookmarking sites:

Add to: Mr. Wong Add to: Webnews Add to: Icio Add to: Oneview Add to: Folkd Add to: Yigg Add to: Linkarena Add to: Digg Add to: Del.icio.us Add to: Reddit Add to: Simpy Add to: StumbleUpon Add to: Slashdot Add to: Netscape Add to: Furl Add to: Yahoo Add to: Spurl Add to: Google Add to: Blinklist Add to: Blogmarks Add to: Diigo Add to: Technorati Add to: Newsvine Add to: Blinkbits Add to: Ma.Gnolia Add to: Smarking Add to: Netvouz Information

MORE RESOURCES:

Web Development at HiddenBrains Brings Single Platform for Comprehensive Web ...
Online PR News (press release)
Web is the source of global exposure for business companies as well as source of IT services for economic web development. The search for appropriate and ...
PHP Web development has become the Source of HiddenBrains GoodwillBigNews.biz (press release)

all 4 news articles »


Hudson Horizons Ranked as the Best Web Development Agency for March 2010 by ...
Online PR News (press release)
bestwebdesignagencies.com, the independent authority on the best web development, has ranked the best web development agencies for March 2010. ...

and more »


Why I will be voting 'yes'
The Coloradoan
Before I was a public servant, I was a small-business owner, keeping the books in the Web development firm my husband and I started together. ...

and more »


Contus Support - Preferred Offshore Web Development Company in India
I-Newswire.com (press release)
Contus Support Interactive – http://www.contussupport.com, a complete web solutions company helps to provide all kinds of web development solutions across ...



Bullseye Media Recognized as the Best Web Development Firm in the United ...
PR Web (press release)
The independent authority on search vendors, uk.topseos.com, released the March 2010 rankings of the best web development firms in the UK. ...
Bullseye Media Ranked Number 1 SEO Web Development Company in the UKPR Web (press release)
Bullseye Media Recognised As Top UK Link Building CompanyPR Web (press release)

all 5 news articles »


The Time is Now for Mobile Web Development
HTML Goodies
WebKit, a layout engine used by many mobile devices and web browsers, allows web developers to create mobile websites with CMS functionality. ...

and more »


Ann Arbor's Logic Solutions Merges With Web Development Firm
WWJ
Ann Arbor-based Logic Solutions Inc. has merged with the Ann Arbor Web site development firm Arachne Web Technologies. Logic COO Bruce Richardson said the ...



The Best Web Development Companies for March 2010 Ranked by topseos.com.au
Online PR News (press release)
Thousands of vendors were put through a stringent evaluation process in order to find the best web development companies. Online PR News – 17-March-2010 ...

and more »


Web Development Firm Bayshore Solutions Wins Gold ADDY® for Their Work with ...
PR Web (press release)
Winning a Gold ADDY® Award for web development and design work on Grow4Students.org, a student banking website for Grow Financial Credit Union, ...

and more »


New, moving or expanding: Web development company opens in Sartell
St. Cloud Times
SARTELL — Stonebreakers Design, a new Web development company based in Sartell, ...

and more »

Google News

Home | Site Map
© 2006