Functions in ASP
You can write functions in ASP similar to the way you write them in
VisualBASIC. It is good programming practice to use functions to
modularize your code and to better provide reuse. To declare a subroutine
(a function that returns no value), you simply type:
<%@ LANGUAGE="VBSCRIPT" %>
<%
sub SubroutineName( Parameters to Pass In )
'Code for Sub...
end sub
%>
A function differs from a subroutine in the fact that it returns data. To
declare a function, the syntax is similar:
<%@ LANGUAGE="VBSCRIPT" %>
<%
function FunctionName( Parameters to Pass In )
'Code for Function...
end function
%>
Let's look at the code for a function that takes an integer value and
returns the square of that value. Also included is code to call the
function.
<%@ LANGUAGE="VBSCRIPT" %>
<%
function Square(num)
Square = num * num
end function
'Returns 25
Response.Write(Square(5))
'Should print "40 is less than 8^2"
if 40 < Square(8) then
Response.Write("40 is less than 8^2")
else
Response.Write("8^2 is less than 40")
end if
%>
If you do not understand an if statement, this tutorial should
help!
To return a value from a function, you need to say the function's name =
some value. That value is what is returned. In this case, we are
returning num (the number passed in) times itself, or essentially num^2.
Important! Whenever you call a function and expect it to return a
value, you must use parenthesis to pass in the parameter(s). For
example, we used Square(8). If you are calling a subroutine,
you cannot use parenthesis. If we want to pass in value(s), we
need to put a space after the sub name and then each parameter separated
by a comma. Observe the example below:
<%@ LANGUAGE="VBSCRIPT" %>
<%
sub PrintProfit(Revenue, Overhead, COGS, Admin)
'Create a variable to store our profit
Dim Profit
Profit = CDbl(Revenue - (Overhead + COGS + Admin))
Response.Write("$" & Profit)
end sub
'Call the sub with various values
'Will output $100.0
PrintProfit 150, 25, 10, 15
'Will output $0.5 (a bad year!!)
PrintProfit 200, 150, 45, 4.5
%>