"Education is what remains after students have forgotten everything they learned in school." - Albert Einstein

Wednesday, February 17, 2021

AJAX Style File Upload

Easily Upload Files Without Refressing The Page

Ever wanted to upload files using AJAX without reloading the page? There are a number of sites that describe how this can be achieved. For the most part, the effect is achieved using iframes and javascript. This tutorial will go through the process of creating a file upload AJAX form and a PHP script which will return a status of 'success' or 'error', as well as, a few other details about the upload. To simplify the whole process, I found that using jQuery and the jQuery Form Plugin is the easiest and best solution for getting this done quickly.

Try the DEMO for this tutorial.

This exurb from the jQuery website provides a good starting point and overview of what we want to achieve.

The jQuery Form Plugin allows you to easily and unobtrusively upgrade HTML forms to use AJAX. The main methods, ajaxForm and ajaxSubmit, gather information from the form element to determine how to manage the submit process. Both of these methods support numerous options which allows you to have full control over how the data is submitted. Submitting a form with AJAX doesn’t get any easier than this!


Basically, we are going to create a form that lets us gather some basic information and select a file for upload. If any of the fields are left blank, we will receive an error message. If the file is not an image file, we will also receive an error message. If everything goes right, the file is uploaded and the file name, ext are returned. While uploading, the screen will display a message box advising that a file is being uploaded and we should wait.

So, let's get right to it.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Monday, February 15, 2021

Google Messing Up Website Links

For those of you who don't know, I also have a home inspection service called Seacliff Inspections. I got an interesting (and angry) phone call from a competing home inspector a couple of days ago. Apparently, Google has messed up our website links somehow. Or, at least that is what I have figured out. Seems that if a Google search is done for "windsor home inspector" a number of websites are displayed on a Google map, which is normal. However, three of the inspection companies listed have all their right contact information except for the website. It lists my website.

The home inspector that called me seems to think that I have done something to make Google list my website instead of his. At this point I should state that I have not, nor ever, created any links to my site with any competitor's name. The closest I can figure out what has happened is this. In order to assure visitors to my site that I offer the best home inspection service available, I created a page listing all my competitors in the area. The page lists their name, physical address, phone number and website address. Here's what I think is happening.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Thursday, February 11, 2021

Free Delphi Components

Over the years I have developed a number of components just to make life easier when programming. Some of you may find these components useful. Depending on the version of Delphi you are using, the components may or may not be useful at all. If still using Delphi 6 or 7 and Windows XP, I'm sure you would find some use for them. Anyway, they are presented here as freeware. Enjoy!

Absolutely free VCL components for Delphi 6, 7 and 2005. Can be easily ported to other versions of Delphi.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Wednesday, February 10, 2021

PHP File Upload

Easy File Upload Funtion for PHP

Recently, I needed to create a script to upload and parse a file using ajax. As is well known, you cannot upload files using javascript or ajax. However, there are ways to make it appear to be done using ajax. Anyway, in the course of trying to find something I could use effectively, I came across a small script that manages the upload part. For the most part it did everything I wanted, but found there could be some improvements. The original script was written by Binny V A and found on this website: http://www.bin-co.com/php/scripts/upload_function/

Here I am just going to present this function. Soon I will present a full ajaxform script to upload files using this upload function.

Uploading a file is usually not just a one-line function. There are a number of elements that need to be checked and verified before a file can be successfully uploaded. I have made a number of improvements to the original function. Some deprecated code has been updated. Some functions that did not work have been updated. If the upload destination folder does not exist, it will now be created. You can now choose to overwrite an existing file with the same name or create a unique name for the file (appends a numerical to the file name).

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Monday, February 1, 2021


Delphi's ListView Component Optimized through Window's API

Have you every wished the Delphi ListView component could do some of the things that many other third party components could do? If you're like me, there's something satisfying about using the components that come with Delphi. In it's simplest form, just being able to sort a listview and have the sort arrow appear in the header is a huge improvement over the default component. Now you can easily sort using a descendant of the Delphi TCustomListview class. And so much more...

In addition to providing sort functions and algorithms, kmListView allows you to easily shade the selected column, alternate row colors, lock all columns so they cannot be resized, or fix selected columns so they cannot be resized or moved. The kmListView background can be wallpapered with the image of your choice. There is also an inline editor for all subitems, as well as the caption of each item. Autosize the last column to ensure rows fill the entire listview width.

Key benefits of kmListView include:

  • Modular Design
  • Powerful Ownerdraw Component
  • Cost Effective
  • Native Delphi Solution
  • Powerful Natural Sort Algorithm
  • Easy Integration
  • Royalty Free Distribution


NEW Modular Design
Often, all the features of kmListView are not required. The new design allows installing of only the features required as components. These components are linked to the listview and can be switched between listviews at runtime. Now, if you only need a sort funtion, you only have the overhead of the sort function.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Monday, February 1, 2021


Advanced component for displaying email header information!

The kmMailPanel component enables the Delphi developer to add a Thunderbird-like panel to their email and internet applications to easily display email header information. The panel incorporates many powerful features not found in any other components.

Each and every email address displayed is independent of the rest. This makes it easy to manage individual addresses to provide hot links to capture the address or other information, send reply email, customize hints and popup menus, and so much more. Check out the demo application to learn how to integrate these advanced features into your own applications.

The kmMailPanel component was build with flexibility in mind. From simple changes in background and border color to the distance between lines and the color of text and links, you are in complete control. Set horizontal and vertical margins, indents, and the size of the collapsed panel. Unlike some other controls and even commercial applications, the kmMailPanel control is absolutely 100% flicker-free when the panel is collapsing or expanding, or when the cursor moves over any of the hot links. Flicker can be reduced even more when the panel is resized by double-buffering the form itself.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Sunday, January 31, 2021

Studio Tax

Free Canadian Income Tax Software

It's getting to that time where we need to file income tax. Last year, I did a search and came across this FREE software from a company called BHOK IT Consulting. The software is called StudioTax. And it is absolutely free for personal use. No additional forms or modules are required if you have income or deductions like investments or a small business. As I said, last year I used it and got a sizable refund.

StudioTax is a windows bilingual personal Income Tax preparation software made by Canadians for Canadians. StudioTax is distributed using a free licensing model. No license key or registration is required to download, install and use StudioTax. After you use StudioTax and you find it useful, please  take the time to make a modest monetary contribution toward the support of this product.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Saturday, January 30, 2021

Net Updater

Auto Update Tool

The NetUpdater component enables Delphi developers to easily incorporate a powerful, automatic update feature to their own software. Net Updater provides a flexible, easy solution to manage all your update requirements.

Built using some of the same functions found in Net Update, this Delphi component supports all common, trusted protocols (HTTP, HTTPS, FTP and LAN), automatic proxy detection, interactive and silent mode, and much more.

Industry Standard Protocols
Properties NetUpdater uses safe, trusted protocols for HTTP, HTTPS, FTP and LAN updates. These are the same protocols used today in Microsoft's Internet Explorer. So you know it works.

Flexible Version Analysis
Update status is determined by either version number or date-time stamp. Typically, a complete update to the whole application would be controlled using the version number, and application patches or modifications would be controlled using date-time stamps. Additionally, updated miscellaneous files can be controlled by file size - only files where the size differs would be updated.

Interactive or Silent Modes
Flexible running modes ensure update notices are delivered and provide a choice on how to apply to update. The normal, interactive mode prompts the end user all along the download and installation path. You can enforce corporate software standards by selecting either Silent or Hidden modes. Silent mode shows the end user exactly what is being downloaded and installed, but does not allow him to cancel the update. In Hidden mode, all download and update operations are carried out in the background, entirely hidden from the end user.

Choice of Update Method
NetUpdater provides the developer with a choice of how the updates are to be delivered and installed. NetUpdater can download and install all required files itself, or download and automatically run a third party installer (Inno Setup by Jordan Russell is recommended, but any third party installer will work), or the user can be directed to a URL for more information and download.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Friday, January 29, 2021

Email Marketing Basics

Email marketing isn’t that much more difficult to do than sending out regular email. There are only a few things that you need to be aware of when sending bulk emails.

  1. Most ISPs and web hosting services do not allow you to send out tons of emails all at once as they view this as possible spam. For the most part, there is a cap on what can be sent out. Usually around 200 – 250 emails per day and not more than 50 emails per hour. There are some exceptions, but for the most part, they are exceptions rather than the rule.
  2. The more images you include in the email, the more likely it will be caught as spam. To save on bandwidth,  most bulk email messages use images stored on servers rather than attached to the email message itself. Doing this will increase the likelihood of being caught as spam.
  3. Outlook 2007 will really mess up formatted email. Microsoft decided that with Outlook 2007 that they would use the Word engine to render and compose email in Outlook rather than the Internet Explorer engine. Problem is, Word is not 100% compliant with internet style standards. So messages created in anything else, including many online emails services, look terrible when received in Outlook 2007... and about 25% of email users use that program for their email.
  4. If sending to recipients on Yahoo or Gmail, there is a good chance your email will be flagged as spam. If received by too many recipients at Yahoo or Gmail, your domain and/or ISP may be flagged as spammers and blacklisted, which could mean other email servers may start rejecting your email.

continue »

delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...

Monday, January 25, 2021


Easy-To-Use Home Inspection Software

Columbus is an excellent first-choice, report writer for the home inspector doing residential inspections. Additionally, Columbus can be easily customized to fit any type inspection or reporting style. Save time and money publishing comprehensize inspection reports. Enjoy the speed and convenience of a checklist system, and still produce the professional and effective narrative reports your clients expect.

Main Features

The main features of Columbus include:

  • Easy, intuitive user interface using familiar wizard-style
  • Create an unlimited number of reports with licensed version - no annual fee
  • Reports are personalized to your company
  • Publish reports to HTML and RTF documents (and then print to PDF)
  • View pending, completed or all reports from a single screen
  • Track and report on client and site information at time of inspection
  • Each section includes general overview, description, limitations and observations
  • All text, including default general comments, can be edited to match your reporting style
  • Add new narratives on-the-fly, or to master templates for future reference
  • Attach photo and/or sketch with comments or caption to each observation

    continue »

    delicious digg facebook stumble twitter myspace linkedin technorati reddit google springpad blogger | addthis Share More...
 « prev 123456 next » 
copyright © 2004 to the present day | web design by KidMoses
privacy | terms | login | contact