User Defined Functions....
I'm always getting asked to place a tutorial on
how to work with user-defined functions, I will display a couple of examples; as
well as an explanation as to why you should use user-defined functions.
The first example shows a simple way of doing
mathematical functions with user-defined functions, let's create a new one:
The first thing we must do is to create the
function, you always create user-defined functions within a pair of <cfscript></cfscript>
tags, see below:
<cfscript>
function
ProcDif(difference,total)
{
x =
#difference#;
y =
#difference#/#total#;
z =
round(x + y);
}
</cfscript>
<cfoutput>
#ProcDif(20,35)#
#ProcDif(520,45)#
#ProcDif(10,85)#
#ProcDif(40,15)#
</cfoutput>
The beauty of user-defined functions is that it
simply needs to be defined only once, then anywhere on your pages you can refer
to it and have it process that value automatically. This means that all
processing will be that much faster. It also means that when you want to make a
change to how the data should be processed, you simply edit the user-defined
function within the <cfscript></cfscript>
tags.
The next example will demonstrate how you can
use user-defined functions to parse through data and display a phone number
correctly.
(keep in mind that this example is assuming that all phone numbers in the db
are in xxx-xxx-xxxx format. If your numbers not in this format, addtional
changes my be required)
The first thing we need to do is query the database for our phone numbers:
<!------------------------------------------------------------------------------
*************** GET ALL RESERVATIONS ***************
------------------------------------------------------------------------------->
<cfquery name="qGetReservations" datasource="MyDSN"
username="MyUserName" password="MyPass">
select
*
from
reservations
order by reservation_date DESC
</cfquery>
<!------------------------------------------------------------------------------
*************** GENERATE A PHONE STRUCTURE ***********
------------------------------------------------------------------------------->
This structure simply is being created,
not called yet. What you're telling it is that you want to create a variable
called "PhoneNumber" and that you require a single value being passed
to it. The value will be the phone number you queried above from the database.
The way you pass values is as follows:
#CleanedPhoneNumber(qGetReservations.phonenumber)#
= qGetReservations.phonenumber being the current phone number for this record
count.
So now that you understand the way you pass
values, let's continue explaining how it processes it:
<cfscript>
function CleanedPhoneNumber(number)
{
//
The first thing we need to do is just have the numbers, this command removes
anything that is not shown between the [ ] brackets.
current_phone
= #ReReplaceNoCase(number, '[^0123456789]', '', 'ALL')#;
//Define
the area code, this takes the left 3 characters and specifies them as area code.
areacode =
left(current_phone, 3);
//Define
The First Three, this takes the middle three values starting at position 4 and
defines them at the first three numbers of the phone number.
firstthree =
mid(current_phone, 4, 3);
//Define
The Last Three, this takes the last four numbers and defines them as the last
four digits of the phone number.
lastfour =
right(current_phone, 4);
//Define
the actual One, this is the final variable that you can customize to export the
look you want for the displaying of the phone number.
phone_number
= "(#areacode#)#firstthree#-#lastfour#";
}
</cfscript>
Now, you can simply do this:
<cfoutput query="qGetReservations">
#CurrentRow# ) #CleanedPhoneNumber(qGetReservations.phonenumber)#<BR>
</cfoutput>
This will go through and process each
individual record and format the phone number correctly.
In closing, user-defined functions allow you to
create your own little specifications for the ColdFusion server, they empower
you to not only speed up your pages, but also to call the same function numerous
times from any page. The user-defined function was introduced in ColdFusion 5.0
and will not run in 4.5 or earlier versions. I you would like more information
on user-defined functions, please visit Macromedia's
Live Docs (User-Defined Functions) area.
Congratulations, you now have a general
understanding of user-defined functions.
-
A brief demonstration of Fusebox 2.0
This is a brief demonstration on how to use Fusebox 2.0 Methodology.
Author: Pablo Varando
Views: 19,392
Posted Date: Friday, September 6, 2002
-
A quick intro into the world of Custom Tags!
The following tutorial will briefly touch over Custom Tags and show you what they are, how you use them, and how they benfit you by using them.
Author: Pablo Varando
Views: 23,459
Posted Date: Friday, September 6, 2002
-
A Simple Contact Us Page….
Learn how to create a contact page in ColdFusion.
Author: Pablo Varando
Views: 30,479
Posted Date: Tuesday, August 13, 2002
-
Alternating Row Colors!
This tutorial will demonstrate how to alternate row colors when outputing your data.
Author: Pablo Varando
Views: 30,470
Posted Date: Tuesday, September 17, 2002
-
Automatically Adding Smiles To Your Messages!
This tutorial will show you how you can add smiles to your messages on the fly!
Author: Pablo Varando
Views: 19,867
Posted Date: Tuesday, October 29, 2002
-
CaSe SensitiVe password logins!
This tutorial will demonstrate how to verify users passwords to be CaSe SensiTive so add another layer of security to your applications!
Author: Pablo Varando
Views: 49,460
Posted Date: Wednesday, February 5, 2003
-
Changing the form submission page on the fly!
This tutorial is not ColdFusion oriented, but covers a great trick to allow you to submit a single form to a variety of different pages on the fly.
Author: Pablo Varando
Views: 16,425
Posted Date: Monday, December 1, 2003
-
Clearing your session variables!
This tutorial will demonstrate how to clear your applications sessions variables with just three lines of code!
Author: Pablo Varando
Views: 23,980
Posted Date: Friday, October 4, 2002
-
ColdFusion and .INI Files!
This tutorial will demonstrate how to use .INI files with ColdFusion. Perfect for users wishing to create administration areas for existing software titles that are INI file driven (i.e. FTP Servers).
Author: Pablo Varando
Views: 18,036
Posted Date: Friday, October 4, 2002
-
Combining two queries into one..
This tutorial will demonstrate how to create a query from two different queries based from two separate datasources. This is the easiest way to combine your data.
Author: Pablo Varando
Views: 20,730
Posted Date: Monday, March 10, 2003
-
Correct Content (document) serving!
This tutorial will demonstrate how to correctly serve documents via ColdFusion and allow you to correctly name the download as you see fit!
Author: Pablo Varando
Views: 14,534
Posted Date: Tuesday, February 10, 2004
-
Count Active Users On Your Site.
Have you ever wanted to display a count of how many people are on your web site at any given moment? This tutorial will demonstrate to you how to achieve just that. It will count your web site's active sessions and allow you to display them to your visitors.
Author: Pablo Varando
Views: 30,055
Posted Date: Sunday, August 25, 2002
-
Creating a file content crawler with ColdFusion....
This tutorial will show you how to make a file content crawler with ColdFusion to find specified documents in a folder and its children folders. (Similar to find files or folder in Windows(c) Operating Systems 'find' feature).
Author: Pablo Varando
Views: 23,241
Posted Date: Saturday, July 19, 2003
-
Creating a Newsletter System....
This tutorial will show you how to create a fully automated system to allow visitors to subscribe and unsubscribe to your newsletter, and for administrators to send out a newsletter to all the registered users.
Author: Pablo Varando
Views: 29,096
Posted Date: Friday, September 6, 2002
-
Creating a user athentication (Login) area.
This tutorial will demonstrate how you can create a "member's only" area. It will show you how to log them in and how to check that they are logged in.
Author: Pablo Varando
Views: 74,388
Posted Date: Monday, August 19, 2002
-
Creating an ODBC Connection within ColdFusion MX Server...
This tutorial will show you how to create an ODBC (Database) connection from within your ColdFusion MX Administration Area.
Author: Pablo Varando
Views: 27,428
Posted Date: Monday, January 6, 2003
-
Creating your very own RSS XML Feeds with ColdFusion MX!
Have you ever wanted to create your very own RSS XML News Feeds? This tutorial will show you how to create an RSS feed that will allow you to syndicate your web site and allow the world to easily use your data!
Author: Pablo Varando
Views: 28,547
Posted Date: Thursday, January 15, 2004
-
Creating, Altering and Deleting database tables with ColdFusion.
This tutorial will show you how to create, modify and delete database tables easily with ColdFusion.
Author: Pablo Varando
Views: 25,275
Posted Date: Monday, October 14, 2002
-
Delete files and folders in a specified path!
This tutorial will demonstrate how you can delete all files and sub-folders in a specified folder using ColdFusion and Windows!
Author: Pablo Varando
Views: 15,029
Posted Date: Wednesday, September 7, 2005
-
Delete Records From Your Database With ColdFusion!
This tutorial will demonstrate how to delete records from a database via your website using ColdFusion.
Author: Pablo Varando
Views: 25,644
Posted Date: Friday, July 4, 2003
-
Do you want to remember your members?
This tutorial will show you how to you can provide your members with the ability to save their username and password into memory, so they dont have to type it in everytime the want to log in to your web site.
Author: Pablo Varando
Views: 21,823
Posted Date: Tuesday, May 13, 2003
-
DSNLess Coldfusion?
Learn how to create database connection, by skipping the old ODBC connections with ColdFusion.
Author: Pablo Varando
Views: 23,460
Posted Date: Friday, August 16, 2002
-
Dynamic Last Date Modified?
This tutorial will demonstrate how to display the date a web page was last modified to your visitors dynamically.
Author: Pablo Varando
Views: 12,826
Posted Date: Monday, April 12, 2004
-
Get A Folder Size Using ColdFusion and FSO...
This tutorial will demonstrate how you can get the size of a folder (and sub folders) using ColdFusion and Windows File System Object (FSO).
Author: Pablo Varando
Views: 17,866
Posted Date: Tuesday, April 8, 2003
-
Having Your Database Do The Work… not ColdFusion!
This tutorial will demonstrate how you can use the functions that come built in on your database to do the work, instead of doing the work in your code the hard way!
Author: Pablo Varando
Views: 25,471
Posted Date: Thursday, August 8, 2002
-
Implementing FORM Error Checking On Your Pages!
This tutorial will show you two two ways you can implement error checking, to ensure that your users are actually entering the required fields on your forms!
Author: Pablo Varando
Views: 19,887
Posted Date: Wednesday, October 16, 2002
-
Inserting data into a database
This tutorial will show you how to insert data into a database, then have that information emailed to you and the person submitting the data.
Author: Pablo Varando
Views: 38,420
Posted Date: Thursday, August 1, 2002
-
Inserting FORM data into multiple database tables!
This tutorial will demonstrate how you can use one form a user fills out to insert into multiple database tables.
Author: Pablo Varando
Views: 24,163
Posted Date: Tuesday, October 15, 2002
-
Preventing People From Leeching Your Images!
This tutorial will show you how to load your images from an actual .cfm page. Therefore, allowing you to prevent people from using your content on their web sites.
Author: Pablo Varando
Views: 27,461
Posted Date: Friday, March 14, 2003
-
Previous / Next n Records
This tutorial demonstrate how to implement "Previous" & "Next" into your existing results page.
Author: Pablo Varando
Views: 28,525
Posted Date: Tuesday, September 17, 2002
-
Print your web pages on the fly!
This tutorial will demonstrate how use ColdFusion, Javascript and Style sheets to create the perfect Printing Machine! ;)
Author: Pablo Varando
Views: 25,064
Posted Date: Sunday, December 15, 2002
-
Processing XML/RSS feeds with ColdFusion MX
This tutorial will show you how to parse XML files (RSS Feeds) with ColdFusion MX and it uses an EasyCFM.COM Feed for example [Feed: 5 Most Viewed Tutorials]. It shows you how to call it via CFHTTP all the way to parse and display your records!
Author: Pablo Varando
Views: 23,501
Posted Date: Saturday, December 27, 2003
-
Reading your IIS Log Files with ColdFusion!
This tutorial will show you how you can parse through your IIS (web server) log files and insert the values into a database, therefore allowin you to display real-time stats to your visitors (i.e hits this week, etc..)
Author: Pablo Varando
Views: 28,103
Posted Date: Monday, November 4, 2002
-
Retrieving Records From a Database..
This is the basics of ColdFusion. This tutorial will demonstrate how to query a database and then display the records found.
Author: Pablo Varando
Views: 30,950
Posted Date: Saturday, August 3, 2002
-
Sending multiple attachments with CFMAIL!
This tutorial will demonstrate how to send out multiple attachments with .
Author: Pablo Varando
Views: 33,646
Posted Date: Friday, October 11, 2002
-
User Defined Functions....
Learn how to use User-Defined Functions in ColdFusion 5.0.
Author: Pablo Varando
Views: 17,372
Posted Date: Wednesday, August 21, 2002
-
Using <CFPOP> and creating an email client for POP3 Email Reading!
This tutorial will show you how to create a mail system for your site. It will allow you to get your email from a POP3 server, view your inbox, then view the message (with attachments), reply and delete that message as well.
Author: Pablo Varando
Views: 27,037
Posted Date: Thursday, November 7, 2002
-
Using Arrays in ColdFusion To Properly Display Data....
This tutorial will show you how to use arrays to display data properly in ColdFusion.
Author: Pablo Varando
Views: 23,747
Posted Date: Monday, October 28, 2002
-
Using CFRegistry to Add Your IP To CF Debug IP List!
This tutorial is intended to show you how to use the ColdFusion tag <CFRegistry>. This tutorial will show you how to add your current IP to the IP Debug List in the ColdFusion Administrator.
Author: Pablo Varando
Views: 19,084
Posted Date: Wednesday, November 6, 2002
-
Using PayPal's IPN with ColdFusion!
This tutorial will demonstrate how to implement the PayPal IPN (Instant Payment Notification) into your e-commerce applications to accept credit cards in real time!
Author: Pablo Varando
Views: 60,620
Posted Date: Wednesday, September 25, 2002
-
Using Query String Values....
This tutorial will demonstrate how to use query string values instead of form values.
Author: Pablo Varando
Views: 33,337
Posted Date: Sunday, September 15, 2002
-
What is the ID for the record I just inserted?
This tutorial will demonstrate how you can get the ID of the record you have just inserted without having to connect to the database again!
Author: Pablo Varando
Views: 20,607
Posted Date: Monday, August 11, 2003