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:

Getting started with web development on your own
The Coloradoan
The right path to a website depends on many factors, but if you are interested in learning the process of web development from the ground up, then you need to consider starting with learning the language of all web pages on the Internet: HTML.

and more »


Web development company in Indiana wants to increase businesses' sales
The Creative Department
Many small businesses struggle with search engine optimization and making their websites easily navigated, and an Elkhart, Indiana, web design company wants to help them. In a recent statement, Effect Web Agency outlined some of the main problems that ...



Lebanon Based iBaroody LLC., Impresses Customers With Unmatched Web ...
Connectus.net (press release)
Beirut, Lebanon – There are many website design and web development companies in Lebanon but not all companies manage to attain the stature of iBaroody LLC, which is a full service website design and web development company. iBaroody LLC is one of the ...



Media One Pro & Clean Pro Inc. Off to a Fresh Start
PR.com (press release)
Clean Pro Inc., a Las Vegas based commercial cleaning service provider, recently announced the launch of its website that Media One Pro, a web development and search marketing firm, was able to produce. Las Vegas, NV, February 11, 2012 --(PR.com)-- ...



Graduate software engineers - move into recruitment & web development
ElectronicsWeekly.com
Graduate Software Engineers are sought for a demanding role in recruitment with great training to jump start your career. You`ll still retain some hands on development software skills through web design and in house network administration while also ...



Programming Opa: Web development, reimagined
InfoWorld
With Opa, an open source Web development technology from the French company MLstate, building a Web application tomorrow could be much more straightforward -- and safer. Not only are today's diverse technologies difficult to master, they complicate ...

and more »


Indiana Web Design Company Radically Changes Approach to Web Development
PR Web (press release)
Effect Web Agency changed the way they do professional web development by partnering with two complimentary agencies: Taigmarks Branding & Advertising and Spearhead Sales & Marketing. Together they collaborate in planning a client's entire marketing ...

and more »


Developers and Clients,'Cake PHP' Tastes Good to Both
SBWire (press release)
With the announcement from cake software foundation to launch Cake PHPs latest version, there is positive affirmation from the critiques as well as developers regarding the expanding role of this web development framework. As the name suggests, ...

and more »


Senior Web Developer - Digital Agency
CFO World
They are looking for someone who is passionate about Web Development, someone who is not afraid to voice their opinions and who follows trends in technologies closely. Digital Agency experience is mandatory, as it is a fast paced, creative, ...
PHP Developer - Digital AgencyAustralian Life Scientist

all 3 news articles »


Adweek

Mini Cooper Selects Semifinalists
Adweek
Multicultural marketing, Web development/CRM and broadcast media buying are not in play and remain at Sanders Wingo, Beam Interactive and UM, respectively. The semifinalists emerged from a broader field of 10 agencies that responded to Mini's initial ...


Google News

home | site map
© 2006