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:

Software Engineer (Web Development)
Seattle Post Intelligencer - 59 minutes ago
DatStat Inc. provides Online Survey and Research Management Systems to healthcare, social science, education, government, and enterprise business ...


Leading Web Development Firm Rockfish Interactive Selects Internap ...
FOXBusiness - May 6, 2008
"Rockfish Interactive's impressive customer base reflects the firm's great achievements in the Web-development space," said Tim Sullivan, chief technology ...


Web Design Company in UK Offers Outsourced Web Development and ...
The Open Press (press release) - May 10, 2008
(OPENPRESS) May 9, 2008 -- Kronik Media, the London based web design company are known for the value of their web development services for businesses. ...


Web Applications Developer
Seattle Post Intelligencer - 3 hours ago
Ability to concurrently support multiple web development projects from conception to deployment while meeting individual project cost, schedule, ...


Rich Web development: Is the browser doomed?
InfoWorld, CA - May 12, 2008
By Neil McAllister Since its inception, the Web has been synonymous with the browser. Pundits hailed NCSA Mosaic as "the killer app of the Internet" in 1993 ...


Today's Zaman

[STARTING UP IN TURKEY] Sports in Turkey
Today's Zaman, Turkey - 3 hours ago
As summer inexorably approaches in Turkey, you might find yourself in the mood for some sports. But finding the right activity and an appropriate location ...


Arrival of technologically advanced web development company ‘Spinx'
PR-Inside.com (Pressemitteilung), Austria - May 5, 2008
2008-05-05 09:28:57 - Based in Los Angeles, Spinx provides professional website design and web development services to clients in the LA area, Orange County ...


New tool could make web development simpler
BizReport - May 5, 2008
If you've checked in with other web development companies, you know this is quite a bit quicker than other options. Here is how it works: developers begin ...


CodeGear offers drag-and-drop web development
ZDNet UK, UK - Apr 15, 2008
... PHP debugging options sit alongside error insight and source-code formatting features to reduce the potential for bug creation in web development. ...


Intuit Web development software launches in beta
Bizjournals.com, NC - Apr 17, 2008
Mountain View-based Intuit (NASDAQ:INTU) said QuickBase is designed to let developers and independent software vendors "easily design, deploy and market ...

Web-Development - Google News

home | site map
© 2006 Webhosting-Service.com - All Rights reserved. - GetWeb Media Webdesign Muenchen