<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6328741</id><updated>2011-12-13T19:59:18.339-08:00</updated><title type='text'>Coding Tips Daily Blog</title><subtitle type='html'>Programming tips, tricks and advice from Jonathan Leger, a seasoned professional programmer/analyst. 
&lt;br&gt;&amp;nbsp;&lt;br&gt;
ASP.NET, VB.NET, Visual Basic, MS Access, MS SQL Server, PHP, MySQL, JavaScript and more!
&lt;p align=center&gt;
&lt;a href="mailto:jonathanleger@related-pages.com"&gt;Email Me&lt;/a&gt;&lt;/p&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codingtips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6328741.post-109033941618568113</id><published>2004-07-20T09:02:00.000-07:00</published><updated>2004-07-20T09:04:20.763-07:00</updated><title type='text'>JavaScript Functions for Working with Cookies</title><summary type='text'>// Cookie handeling routines.// name - name of the cookie// value - value of the cookie// [expires] - expiration date of the cookie (defaults to end of current session)// [path] - path for which the cookie is valid (defaults to path of calling document)// [domain] - domain for which the cookie is valid (defaults to domain of calling document)// [secure] - Boolean value indicating if the </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109033941618568113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109033941618568113'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-functions-for-working-with.html' title='JavaScript Functions for Working with Cookies'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024738004710025</id><published>2004-07-19T07:25:00.000-07:00</published><updated>2004-07-19T07:30:15.363-07:00</updated><title type='text'>JavaScript Form Validation Functions (validate input)</title><summary type='text'>Here's a link to a file contaning the functions posted in the last 10 or so posts, as well as some additional functions that can be extremely useful in form validation.  Pay particular attention to the ValidateField() function toward the bottom of the JavaScript include file.  It allows you to pass the field object (represented by 'this' in a JavaScript event), the type of validation you want to </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024738004710025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024738004710025'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-form-validation-functions.html' title='JavaScript Form Validation Functions (validate input)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024708888604966</id><published>2004-07-19T07:24:00.000-07:00</published><updated>2004-07-19T07:24:48.886-07:00</updated><title type='text'>JavaScript Function to Validate U.S. State (valid state)</title><summary type='text'>This function tests the passed text against the U.S. State abbreviations, returning True if the text is a U.S. State abbreviation, False otherwise.// Make sure a state is valid.function ValidState(sstate) {	sstates = "wa|or|ca|ak|nv|id|ut|az|hi|mt|wy" +				"co|nm|nd|sd|ne|ks|ok|tx|mn|ia|mo" +				"ar|la|wi|il|ms|mi|in|ky|tn|al|fl" +				"ga|sc|nc|oh|wv|va|pa|ny|vt|me|nh" +				"ma|ri|ct|nj|</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024708888604966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024708888604966'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-validate-us.html' title='JavaScript Function to Validate U.S. State (valid state)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024697498104304</id><published>2004-07-19T07:21:00.000-07:00</published><updated>2004-07-19T07:22:54.980-07:00</updated><title type='text'>JavaScript Function Allow Number keys Only (only digit)</title><summary type='text'>This function returns True if the passed keycode is a digit, False if it is not.  This is useful when you want to limit the values of a input field to only numbers.function isDigit(nKeyCode){	// Test for digit keycode (0-9).   if((nKeyCode &gt; 47) &amp;&amp; (nKeyCode &lt;  58))   {      return true;   }      return false;}</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024697498104304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024697498104304'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-allow-number-keys.html' title='JavaScript Function Allow Number keys Only (only digit)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024684218263249</id><published>2004-07-19T07:19:00.000-07:00</published><updated>2004-07-19T07:21:21.920-07:00</updated><title type='text'>JavaScript Function Validate Date (valid date)</title><summary type='text'>This function returns True if the passed text is a valid date, False if it is not./*	ValidDate - true for valid date, false for invalid*/function IsValidDate(PossibleDate){	var PDate = new String(PossibleDate);		var regex = /(^\d{1,2})\/(\d{1,2})\/(\d{4,4})|(^\d{1,2})\/(\d{1,2})\/(\d{2,2})/;		if( regex.test(PDate) )	{		var month = new String(RegExp.$1);		var day = new String(RegExp</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024684218263249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024684218263249'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-validate-date.html' title='JavaScript Function Validate Date (valid date)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024676926613839</id><published>2004-07-19T07:18:00.000-07:00</published><updated>2004-07-19T07:19:29.266-07:00</updated><title type='text'>JavaScript Function to Validate SSN (valid ssn)</title><summary type='text'>This function validates whether or not the passed text is a U.S. social security number, returning True if it is, False if it is not./*	ValidSSN - true for valid SSN, false for invalid*/function ValidSSN(SSN){	var SSNum = new String(SSN);		var regex = /^[0-9]{3,3}\-[0-9]{2,2}\-[0-9]{4,4}$/;		return regex.test(SSNum);}</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024676926613839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024676926613839'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-validate-ssn.html' title='JavaScript Function to Validate SSN (valid ssn)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024650175553561</id><published>2004-07-19T07:14:00.000-07:00</published><updated>2004-07-19T07:16:40.743-07:00</updated><title type='text'>JavaScript Function to Validate Phone Number (valid phone number)</title><summary type='text'>This function tests the passed text, returning True if the text is formatted in a valid U.S.A. phone number format, False otherwise./*	ValidPhoneNumber - true for valid phone number, false for invalid*/function ValidPhoneNumber(PhoneNumber){	var PNum = new String(PhoneNumber);		//	555-555-5555	//	(555)555-5555	//	(555) 555-5555	//	555-5555        // NOTE: COMBINE THE FOLLOWING FOUR</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024650175553561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024650175553561'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-validate-phone.html' title='JavaScript Function to Validate Phone Number (valid phone number)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024642156613956</id><published>2004-07-19T07:12:00.000-07:00</published><updated>2004-07-19T07:17:31.366-07:00</updated><title type='text'>JavaScript Function Is Numeric (validate number, valid number)</title><summary type='text'>This function checks the passed text to see if it is a numeric value and returns True if it is, False if it is not./*	IsNumeric - true for all numeric, false if not*/function IsNumeric(PossibleNumber){	var PNum = new String(PossibleNumber);	var regex = /[^0-9]/;	return !regex.test(PNum);}</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024642156613956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024642156613956'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-is-numeric.html' title='JavaScript Function Is Numeric (validate number, valid number)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024627035419665</id><published>2004-07-19T07:10:00.000-07:00</published><updated>2004-07-19T07:11:22.776-07:00</updated><title type='text'>JavaScript Function to Validate Email Addresses (valid email address)</title><summary type='text'>This function validates an email address, returning True if it is a properly formatted email address, False if it is not./*	ValidEmail - true for valid email, false for invalid*/function ValidEmail(EmailAddr) {	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;		var SpecChar="!#$%^&amp;*()'+{}[]\|:;?/&gt;&lt;,~`" + "\"";	var </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024627035419665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024627035419665'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-validate-email.html' title='JavaScript Function to Validate Email Addresses (valid email address)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024620603977206</id><published>2004-07-19T07:08:00.000-07:00</published><updated>2004-07-19T07:10:06.040-07:00</updated><title type='text'>JavaScript Function to Validate Zip codes (valid zipcode)</title><summary type='text'>This function returns True if a Zipcode is a validly formatted U.S. Zip code, false if it is not./*	ValidZipCode - true for valid zip codes, false for invalid ones*/function ValidZipCode(ZipCode){	//Your zip code must contain 5 or 9 digits.        // 9 digit zip codes should contain no spaces and a        // hyphen before the last 4 digits.		var stringValue = new String(ZipCode);	var</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024620603977206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024620603977206'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-validate-zip.html' title='JavaScript Function to Validate Zip codes (valid zipcode)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024607863206991</id><published>2004-07-19T07:07:00.000-07:00</published><updated>2004-07-19T07:18:02.576-07:00</updated><title type='text'>JavaScript Function to Trim White Space (RTRIM)</title><summary type='text'>Like the LTRIM previously posted, this function trims white space, but from the right of the text./*	RTrim - Trims whitespace from right of a string*/function RTrim(str){	var whitespace = new String(" \t\n\r");	var s = new String(str);	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) 	{		var i = s.length - 1;       // Get length of string		while (i &gt;= 0 &amp;&amp; whitespace.indexOf(</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024607863206991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024607863206991'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-trim-white_19.html' title='JavaScript Function to Trim White Space (RTRIM)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024599625671980</id><published>2004-07-19T07:05:00.000-07:00</published><updated>2004-07-19T07:18:15.116-07:00</updated><title type='text'>JavaScript Function To Trim White Space (LTRIM)</title><summary type='text'>This function trims the white space from the left of a string, a useful function when removing extra spaces typed in by a user into a form./* 	LTrim - Trims whitespace from left of a string*/function LTrim(str){	var whitespace = new String(" \t\n\r");	var s = new String(str);	if (whitespace.indexOf(s.charAt(0)) != -1) 	{		var j=0, i = s.length;		while (j &lt; i &amp;&amp; whitespace.indexOf(</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024599625671980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024599625671980'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-trim-white.html' title='JavaScript Function To Trim White Space (LTRIM)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-109024589681427134</id><published>2004-07-19T07:02:00.000-07:00</published><updated>2004-07-19T07:04:56.813-07:00</updated><title type='text'>JavaScript Function to Format Currency (Money)</title><summary type='text'>I am going to be posting a series of useful JavaScript functions for form validation and input formatting.  This is the first in that series: a function which formats a number as currency.function formatCurrency(num) {	num = num.toString().replace(/\$|\,/g,'');	if(isNaN(num)) num = "0";	sign = (num == (num = Math.abs(num)));	num = Math.floor(num*100+0.50000000001);	cents = num%100;	num </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024589681427134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/109024589681427134'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/javascript-function-to-format-currency.html' title='JavaScript Function to Format Currency (Money)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108911882938906030</id><published>2004-07-06T05:50:00.000-07:00</published><updated>2004-07-06T06:03:03.000-07:00</updated><title type='text'>PHP Function For Adding Hours To A Date / Time</title><summary type='text'>One of the things that I've always thought was a little lacking in PHP is its ability to easily perform date/time math.In Visual Basic.NET there are functions called AddDays, AddHours, AddMinutes, etc. that make it very easy to adjust a date.  In PHP there are no such functions.  You have to go through a little more complexity to make this work.Since I often needed a function to add hours to </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108911882938906030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108911882938906030'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/07/php-function-for-adding-hours-to-date.html' title='PHP Function For Adding Hours To A Date / Time'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108801852062537244</id><published>2004-06-23T12:18:00.000-07:00</published><updated>2004-06-23T12:24:49.593-07:00</updated><title type='text'>Get the Compression Method of a TIFF in VB.NET (Visual Basic.NET)</title><summary type='text'>This really bugged me.  I found code all over the web for how to convert a TIFF from one compression format to another and how to convert a TIFF to every other kind of file format that .NET supports, but nowhere could I find a code snippet showing me how to know what compression method a TIFF is currently using except for a lone post on Google Groups.So I am posting the code for knowing what </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108801852062537244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108801852062537244'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/06/get-compression-method-of-tiff-in.html' title='Get the Compression Method of a TIFF in VB.NET (Visual Basic.NET)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108497263644616282</id><published>2004-05-19T06:16:00.000-07:00</published><updated>2004-05-19T06:17:16.446-07:00</updated><title type='text'>PHP Html Parser</title><summary type='text'>A couple of days ago I posted some code for a VB.NET HTML Parser.  If you need to do something similar using PHP, I've used this class with good success:http://php-html.sourceforge.net/It operates a little differently than the VB.NET parser, since it actually provides a means for you to walk down the document object model tree, but it works well.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108497263644616282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108497263644616282'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/php-html-parser.html' title='PHP Html Parser'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108488515398093511</id><published>2004-05-18T05:52:00.000-07:00</published><updated>2004-05-19T06:17:46.076-07:00</updated><title type='text'>Web Stats Tracking Script</title><summary type='text'>Here's a groovy little script if you'd rather log your web stats to your own database than use a third party tracking script:var asUrl = 'http://www.mysite.com/myscript.php?' + 	'&amp;url=' + escape(document.location.href) + '&amp;pv=1' +	'&amp;r=' + escape(document.referrer) +	'&amp;dt=' + new Date().valueOf();var bug = new Image(); bug.src = asUrl;Paste that script onto your pages (or, preferably, </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108488515398093511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108488515398093511'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/web-stats-tracking-script.html' title='Web Stats Tracking Script'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108480142038714720</id><published>2004-05-17T06:41:00.000-07:00</published><updated>2004-05-17T06:44:22.796-07:00</updated><title type='text'>Web Based Remote SQL Server Administration</title><summary type='text'>Here's a cool new free download from Microsoft.  It allows you to (mostly) remotely administer your SQL Server installations over the web.It lacks some of the more advanced management features like adding and running configured jobs and setting up detailed user security, but it's not too shabby for the price--free.Click here to check it out.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108480142038714720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108480142038714720'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/web-based-remote-sql-server.html' title='Web Based Remote SQL Server Administration'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108465771878632669</id><published>2004-05-15T14:38:00.000-07:00</published><updated>2004-05-15T14:59:35.596-07:00</updated><title type='text'>Visual Basic.NET Html Parser (VB.NET)</title><summary type='text'>There have been numerous projects and tools that I've written in which I really needed the ability to extract a list of certain tags and their properties from an HTML document.  For example, extracting all anchor (A) tags from a document and get their HREF property value.When this became a need in a set of search engine optimization tools that I've written, I wrote a class that handles the </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108465771878632669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108465771878632669'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/visual-basicnet-html-parser-vbnet.html' title='Visual Basic.NET Html Parser (VB.NET)'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108465595718818918</id><published>2004-05-15T13:45:00.000-07:00</published><updated>2004-05-15T14:21:02.510-07:00</updated><title type='text'>Free Chart and Graph Control for ASP.NET</title><summary type='text'>I've used WebChart, a free ASP.NET charting and graphing control, in one of my ASP.NET projects.  It works very well, outputs the images in PNG format, and even cleans up the storage directory by itself.  Very nice.It's not really full featured like some of the professional controls, but you can't beat the price tag. ;)Check it out.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108465595718818918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108465595718818918'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/free-chart-and-graph-control-for_15.html' title='Free Chart and Graph Control for ASP.NET'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108465315189074081</id><published>2004-05-15T13:31:00.000-07:00</published><updated>2004-05-15T13:39:18.543-07:00</updated><title type='text'>Ten Steps to a Secure ASP.NET Web Application</title><summary type='text'>Here is a list of steps to take to ensure that your data-driven ASP.NET web application is reasonably secure on Windows 2000 (there may be some changes for Windows 2003, as Microsoft has tightened security considerably).	Windows1.	Create a new user account.  Do not grant any additional permission beyond putting it into the ‘Users’ group (which is done by default).NOTE: If SQL Server and IIS</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108465315189074081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108465315189074081'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/ten-steps-to-secure-aspnet-web.html' title='Ten Steps to a Secure ASP.NET Web Application'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108464976525997261</id><published>2004-05-15T12:26:00.000-07:00</published><updated>2004-05-15T13:08:41.390-07:00</updated><title type='text'>Batch Scanning for your applications using Kofax Ascent Capture</title><summary type='text'>In one of my projects at work I've recently introduced a batch scanning module that uses the Kofax Ascent Capture product.  The project is a VB6 application.In the past we had attempted to handle the batch scanning on our own, with, quite frankly, limited success.  Kofax is the largest manufacturer of imaging products in the world, and as such their software is incredible.  The move to a third </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464976525997261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464976525997261'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/batch-scanning-for-your-applications.html' title='Batch Scanning for your applications using Kofax Ascent Capture'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108464690576204184</id><published>2004-05-15T11:47:00.000-07:00</published><updated>2004-05-15T13:24:44.733-07:00</updated><title type='text'>PHP versus ASP.NET (or) How PHP compares with ASP.NET</title><summary type='text'>This issue has been hashed and rehashed around the web, but I wanted to throw my two cents in regarding the issue.  That's because, unlike the authors of the other articles I've read on this subject, I've actually coded two almost identical projects using both PHP with MySQL and ASP.NET with SQL Server, so I feel like I can give a fair and unbiased point of view.Why did I create the same </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464690576204184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464690576204184'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/php-versus-aspnet-or-how-php-compares.html' title='PHP versus ASP.NET (or) How PHP compares with ASP.NET'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108464460457164150</id><published>2004-05-15T11:08:00.000-07:00</published><updated>2004-05-15T13:02:38.366-07:00</updated><title type='text'>MySQL Full Text Indexing</title><summary type='text'>I've been toying with the idea of writing my own "mini search engines" on targeted topics for some time now, primarily so that I can put advertisements on them and maybe make a few extra bucks.  I initially thought I would use ASP.NET and MS SQL Server, but then I found out something wonderful:MySQL 4.0 and later supports full text indexing!And boy, talk about a breeze to implement.  Using </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464460457164150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464460457164150'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/mysql-full-text-indexing.html' title='MySQL Full Text Indexing'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-108464433447843599</id><published>2004-05-15T11:02:00.000-07:00</published><updated>2004-05-15T11:24:45.550-07:00</updated><title type='text'>Back to the Blog</title><summary type='text'>After a dozen posts this blog stalled, but my interest has been rekindled, and so I've decided to pick it back up.  I've actually been getting a few hundred visitors a month to the blog without doing anything, and it's hurting my feelings. If the masses want some information, well darnit, I'll give it to them. :)I've revamped the look of the blog, too, and I like it much better this way.I </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464433447843599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/108464433447843599'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/05/back-to-blog.html' title='Back to the Blog'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-1075384874586036</id><published>2004-01-29T05:55:00.000-08:00</published><updated>2004-05-15T11:17:39.760-07:00</updated><title type='text'>Url Encoding / Decoding In ASP.NET</title><summary type='text'>I noticed in my site logs that quite a few people are searching for how to encode and decode a url in ASP.NET, so I thought today I'd write a short blog on how to do that.If you are wanting to do this from a WebForm, it's very simple:Encoding:encodedUrl = Server.UrlEncode(urlToEncode)Decoding:decodedUrl = Server.UrlDecode(urlToDecode)If you are wanting to encode or decode a url from a </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/1075384874586036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/1075384874586036'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/url-encoding-decoding-in-aspnet.html' title='Url Encoding / Decoding In ASP.NET'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107529563473082052</id><published>2004-01-28T05:02:00.000-08:00</published><updated>2004-05-15T11:18:04.176-07:00</updated><title type='text'>A Few Tips About SQL Joins</title><summary type='text'>First of all, let me apologize for being gone for a few days.  Things have been hectic at work.  We just demoed our new product and the demo went -great-.Today I thought I would write about the various kinds of joins available to programmers using SQL.  It's a bit of a beginners blog, really.  But an important one if you're not familiar with the details of how joins work.Most databases using </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107529563473082052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107529563473082052'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/few-tips-about-sql-joins.html' title='A Few Tips About SQL Joins'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107478108576617968</id><published>2004-01-22T06:06:00.000-08:00</published><updated>2004-05-15T11:18:20.310-07:00</updated><title type='text'>Get The Filesize Of A Url's Target File In VB.Net</title><summary type='text'>Not too long ago I wrote a program that had the requirement of displaying the size of a file targetted by a URL without actually downloading the file (the filesize was to help the user determined whether or not they wanted to take the time to download the file).I wrote a little function for Visual Basic.Net to accomplish this, and found it so darn handy that I thought I would post it here for </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107478108576617968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107478108576617968'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/get-filesize-of-urls-target-file-in.html' title='Get The Filesize Of A Url&apos;s Target File In VB.Net'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107468845515944955</id><published>2004-01-21T04:25:00.000-08:00</published><updated>2004-05-15T11:18:45.126-07:00</updated><title type='text'>Load And Print A Multipage TIFF From VB.NET</title><summary type='text'>The .NET framework added a groovy wrapper for the GDI+ graphics library.  One of the things that this has really helped me with in my job is the handling of TIFFs.  In our VB6 applications I had to use a third party control (usually from LEAD) for loading, manipulating and finally printing TIFFs (the principal image format for our client base).  No more!  .NET has plenty of routines for handling </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107468845515944955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107468845515944955'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/load-and-print-multipage-tiff-from.html' title='Load And Print A Multipage TIFF From VB.NET'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107460820477018812</id><published>2004-01-20T06:16:00.000-08:00</published><updated>2004-05-15T11:18:58.060-07:00</updated><title type='text'>Microsoft vs. MikeRoweSoft</title><summary type='text'>I'll try to post some code later today, but in the mean time check out this interesting article:MikeRoweSoft garners funds to fight back</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107460820477018812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107460820477018812'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/microsoft-vs-mikerowesoft.html' title='Microsoft vs. MikeRoweSoft'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107451623693578082</id><published>2004-01-19T04:41:00.000-08:00</published><updated>2004-05-15T12:59:30.720-07:00</updated><title type='text'>How To Disable Browser HotKeys Using JavaScript</title><summary type='text'>I noticed that a number of people were getting to my blog searching at Google for how to disable web browser hotkeys, so I figured I'd make them happy by writing a blog showing how to do this.NOTICE: I saw in my logs that some people searching for disabling CTRL-P were sent to this page by Google.  If you're interested in disabling printing from a web page using JavaScript, see this blog entry </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107451623693578082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107451623693578082'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/how-to-disable-browser-hotkeys-using.html' title='How To Disable Browser HotKeys Using JavaScript'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107426189161635832</id><published>2004-01-16T06:01:00.000-08:00</published><updated>2004-05-15T11:19:28.730-07:00</updated><title type='text'>Accessing Network Files And Resources From ASP.NET</title><summary type='text'>Accessing network resources through ASP/ASP.NET has never been a terribly simple task, not if you want to maintain a high level of security for your server.Despite not being as simple as I'd like, it is not difficult to do.  Microsoft's recommendation comes in the following steps:Create an assembly that works with the network resources.Add the assembly to Component Services (COM+).Set the </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107426189161635832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107426189161635832'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/accessing-network-files-and-resources.html' title='Accessing Network Files And Resources From ASP.NET'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107417575541094064</id><published>2004-01-15T05:59:00.000-08:00</published><updated>2004-05-15T11:19:47.293-07:00</updated><title type='text'>Retreiving Performance Counter Values With VB.Net</title><summary type='text'>From Windows 98 on Microsoft has included performance counters in their O/S that measure all kinds of things going on in the system: memory usage, disk access, network bandwidth use, etc.  Your software can access these values through the performance counters for reporting, notification of system problems, etc.  I've recently finished an application which sits on a server and regularly pulls </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107417575541094064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107417575541094064'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/retreiving-performance-counter-values.html' title='Retreiving Performance Counter Values With VB.Net'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107409476416536891</id><published>2004-01-14T07:35:00.000-08:00</published><updated>2004-05-15T11:20:14.526-07:00</updated><title type='text'>Code Generation</title><summary type='text'>In a recent project I decided to explore the idea of code generation, even writing a tool that automatically generated the classes for all the database access to a SQL Server database.My tool was pretty specific to my needs, and in a later project I found that it just wasn't flexible enough.  In a link sent to me I happened to find a great freeware code generation tool created by Eric J. Smith </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107409476416536891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107409476416536891'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/code-generation.html' title='Code Generation'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107408608248846709</id><published>2004-01-13T05:11:00.000-08:00</published><updated>2004-05-15T11:20:32.156-07:00</updated><title type='text'>Disable Printing Of A Web Page</title><summary type='text'>And still another trick I have learned while working on my current ASP.NET project is how to prevent a user from printing the web page that they are viewing.  This is a two step process.  The first step is very simple.  Add this tag in the HEAD section of your page:             &lt;style media="print"&gt;                    BODY { DISPLAY: none }             &lt;/style&gt;---What this stylesheet </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408608248846709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408608248846709'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/disable-printing-of-web-page.html' title='Disable Printing Of A Web Page'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107408493820175574</id><published>2004-01-12T04:50:00.000-08:00</published><updated>2004-05-15T13:05:46.240-07:00</updated><title type='text'>Creating PDF Reports For ASP.NET with Active PDF</title><summary type='text'>Yet another winning product I discovered while working on my current ASP.NET project is Active PDF (www.activepdf.com), an incredible toolset for creating PDF reports from .NET.  The tool I'm using from Active PDF is Active PDF Server.Active PDF Server sets up a printer which can be selected and print to from your application.  You print to the PDF printer, and the object returns the path to </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408493820175574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408493820175574'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/creating-pdf-reports-for-aspnet-with.html' title='Creating PDF Reports For ASP.NET with Active PDF'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107408452093152111</id><published>2004-01-11T04:48:00.000-08:00</published><updated>2004-05-15T11:21:17.086-07:00</updated><title type='text'>JavaScript Hotkeys</title><summary type='text'>I am currently working on an ASP.NET project that required the use of hot keys.  Using a JavaScript include on each page I was able to implement the hotkeys.  A sample of the code follows:As you will see by looking through the code, the KeyDown event is captured and various ALT-Key combinations are trapped which redirect the user to different pages of the site.  On the page I have the first </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408452093152111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408452093152111'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/javascript-hotkeys.html' title='JavaScript Hotkeys'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-6328741.post-107408451165161652</id><published>2004-01-10T04:48:00.000-08:00</published><updated>2004-05-15T13:07:38.353-07:00</updated><title type='text'>ODBC Connectivity For COBOL databases using Relativity</title><summary type='text'>I wanted to share with you some information about a product that I am currently using on a project that pulls its data from RM COBOL databases.  It's called Relativity, and it's created by Liant Software Corp of Austin, Texas.Relativity wraps an ODBC interface around Cobol databases.  It comes in two parts: a Windows client for building the catalogs and a Unix / Linux client for serving up the </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408451165161652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6328741/posts/default/107408451165161652'/><link rel='alternate' type='text/html' href='http://codingtips.blogspot.com/2004/01/odbc-connectivity-for-cobol-databases.html' title='ODBC Connectivity For COBOL databases using Relativity'/><author><name>Jonathan Leger</name><uri>http://www.blogger.com/profile/03030244848103100956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://jonathanleger.com/jon_small.jpg'/></author></entry></feed>
