Finn Tolderlund - Delphi programming

If you find some of the stuff on this website useful and wish to show your support and appreciation,
you can do so by clicking on the PayPal Donate button and give a little amount.
Note that you don't have to pay anything, but even a small amount will help to keep this website up. Thank you very much.

Service Applications in Delphi Tutorial
Tutorial for making Service Applications in Delphi
It's a work in progress.

GIF FAQ
Updated 2008.11.08.
Frequently Asked Questions about the GIF Image unit: gif-faq.txt

Animated GIF files
Updated 2008.10.19.
A Delphi unit to make it easy to create animated GIF files: ftgifanimate.zip (3 KB).
Requires the TGIFImage unit.

TGIFImage
for Delphi 2, 3, 4, 5 and C++ Builder 3, 4
and Delphi 6, Delphi 7, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010.
Updated 2009.10.14.
gifimaged2010b.zip (with help file) (200 KB).
This is a version of Anders Melander's TGIFImage compatible with
Delphi 6, Delphi 7, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010.
It supports animated GIF files.
Note: This version should also work with older Delphi versions (Delphi 2, 3, 4, 5 and C++ Builder 3, 4).
It only works in VCL applications. It does not work in .NET applications.
However you could make a native win32 DLL to perform various gif operations and call the DLL from a .NET application.
For Delphi 2007,2009,2010 you can also use the GIFImg.pas unit that is included with Delphi 2007,2009,2010.
And did you know that Delphi 2009,2010 has a new PngImage.pas unit for use with PNG files?

TGIFImage for Delphi 7 - Delphi 2009
Updated 2008.10.19.
gifimaged2009a.zip (with help file) (200 KB).
This is a version of Anders Melander's TGIFImage ported to Delphi 7, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009.
It supports animated GIF files.
Note: This version should also work with older Delphi versions (Delphi 2, 3, 4, 5 and C++ Builder 3, 4).
It only works in VCL applications. It does not work in .NET applications.
However you could make a native win32 DLL to perform various gif operations and call the DLL from a .NET application.
For Delphi 2007,2009 you can also use the GIFImg.pas unit that is included with Delphi 2007,2009.
And did you know that Delphi 2009 has a new PngImage.pas unit for use with PNG files?

TGIFImage ported to Delphi 7 and newer:
Updated 2007.01.18.
gifimaged7g.zip (with help file) (199 KB).
This is a version of Anders Melander's TGIFImage ported to Delphi 7, Delphi 2005, Delphi 2006, Delphi 2007.
It supports animated GIF files.
Note: This version should also work with older Delphi versions (Delphi 2, 3, 4, 5 and C++ Builder 3, 4).
It only works in VCL applications. It does not work in .NET applications.
However you could make a native win32 DLL to perform various gif operations and call the DLL from a .NET application.

TGIFImage ported to Delphi 6:
Updated 2002.07.07.
gifimaged6.zip (with help file) (201 KB).
This is a version of Anders Melander's TGIFImage ported to Delphi 6.
I'm posting it with permission from the author Anders Melander.
Note: This version should also work with older Delphi versions (Delphi 2, 3, 4, 5 and C++ Builder 3, 4).

Link to Anders Melander's web site:
http://melander.dk/delphi/gifimage/

TGIFImage for Delphi 5
Anders Melander's original Delphi 5 version:
gifimaged5.zip (76 KB).
This version works with older Delphi versions (Delphi 2, 3, 4, 5 and C++ Builder 3, 4).

GIF demo projects:
Anders Melander's original GIF demo projects:
gifimage0202.exe (967 KB).
The exe file is an installer which extracts the demo source files, help files and documentation files into a directory of your choice.
If you do not like to download and run exe files from the net, here is a ZIP file containing the same files:
gifimage0202.zip (684 KB).
Note:
The package contains the old original TGIFImage unit. You might want to replace it with the newest version.
These demo projects were made by Anders Melander for Delphi 5.
Some of the demo projects only work properly in Delphi 5.
Some of the demo projects crash in Delphi 7. I haven't really looked into why.

Screenshot including the mouse cursor
Updated 2004.05.18.
A Delphi unit to make a screenshot optional including the mouse cursor.
ftscreenshot.zip (2 KB).

Bresenham's Circle/Ellipse/Line algorithm
A Delphi unit implementing Bresenham's Circle/Ellipse/Line algorithm.
ftbresenham.zip (2 KB).

paszlib ported to Delphi 6
This is a version of paszlib ported to Delphi 6.
paszlib.zip (128 KB).
The original paszlib by Jacques Nomssi Nzali can be found here:
http://www.nomssi.de/paszlib/paszlib.html
The link seems to be dead.

Calculation of PI
pi.zip (160 KB).
I got the piex.pas file from somewhere I don't remember. The GUI part of the program was made by me.

Note of warning:
You are welcome to download and use the stuff from this web site.
But you do so at your own risk.

Send an e-mail to Finn Tolderlund if you have any comments.

Various compiled programs which I have made with Delphi from Borland.



MOTHER OF ALL DISCLAIMERS:
  This web page does not reflect the thoughts or opinions of either myself, my company, my family, my friends, or my cat, or any of his fleas; don't quote me on that; don't quote me on anything; all rights reserved; you may distribute this content freely but you may not make a profit from it, at least not unless you PayPal my fair share to finn at tolderlund dot eu; terms are subject to change without notice; illustrations are slightly enlarged to show detail, or shrunk to hide detail; any resemblance to actual persons, living or dead, is unintentional and purely coincidental; do not remove this disclaimer under penalty of law; hand wash only, tumble dry on low heat; do not bend, fold, mutilate, or spindle; your mileage may vary; no substitutions allowed; for a limited time only; this article is void where prohibited, taxed, or otherwise restricted; caveat emptor; this blog is provided "as is" without any warranties whatsoever; reader assumes full responsibility; an equal opportunity article; no shoes, no shirt, no service; quantities are limited while supplies last; if any defects are discovered, do not attempt to read them yourself, but return to an authorized service center; read at your own risk; parental discression advised, text may contain explicit materials some readers may find objectionable; keep away from sunlight; keep away from OJ; keep away from pets and small children; limit one-per-family please; no money down; no purchase necessary; you need not be present to win; some assembly required; batteries not included; instructions are included; action figures sold separately; no preservatives added; slippery when wet; safety goggles may be required during use; sealed for your protection, do not read if safety seal is broken; call before you dig; not liable for damages arising from use or misuse; for external use only; if rash, irritation, redness, or swelling develops, discontinue reading; read only with proper ventilation; avoid extreme temperatures and store in a cool, dry place; keep away from open flames; avoid contact with eyes and skin and avoid inhaling fumes; do not puncture, incinerate, or store above 120 degrees Fahrenheit; do not place near a flammable or magnetic source; smoking this blog could be hazardous to your health; the best safeguard, second only to abstinence, is the use of a proper protection; no salt, MSG, artificial color or flavoring added; if ingested, do not induce vomiting, if symptoms persist, consult a physician; articles are ribbed for your pleasure; possible penalties for early withdrawal; offer valid only at participating sites; allow four to six weeks for delivery; must be 18 to read; disclaimer does not cover misuse, accident, lightning, flood, tornado, tsunami, volcanic eruption, earthquake, hurricanes, and other Acts of God, neglect, damage from improper reading, incorrect line voltage, improper or unauthorized reading, broken antenna or marred cabinet, missing or altered serial numbers, electromagnetic radiation from nuclear blasts, sonic boom vibrations, customer adjustments that are not covered in this list, and incidents owing to an airplane crash, ship sinking or taking on water, motor vehicle crashing, dropping the item, falling rocks, leaky roof, broken glass, mud slides, forest fire, or projectile (which can include, but not be limited to, arrows, bullets, shot, BB's, shrapnel, lasers, napalm, torpedoes, or emissions of X-rays, Alpha, Beta and Gamma rays, knives, stones, etc.); other restrictions may apply. This product is meant for educational purposes only. Any resemblance to real persons, living or dead is purely coincidental. Void where prohibited. Some assembly required. List each check separately by bank number. Batteries not included. Contents may settle during shipment. Use only as directed. No other warranty expressed or implied. Do not use while operating a motor vehicle or heavy equipment. Postage will be paid by addressee. Subject to approval. This is not an offer to sell securities. Apply only to affected area. May be too intense for some viewers. Do not stamp. Use other side for additional listings. For recreational use only. Do not disturb. All models over 18 years of age. If condition persists, consult your physician. No user-serviceable parts inside. Freshest if eaten before date on carton. Subject to change without notice. Times approximate. Simulated picture. No postage necessary if mailed in the United States. Breaking seal constitutes acceptance of agreement. For off-road use only. As seen on TV. One size fits all. Many suitcases look alike. Contains a substantial amount of non-tobacco ingredients. Colors may, in time, fade. We have sent the forms which seem to be right for you. Slippery when wet. For office use only. Not affiliated with the American Red Cross. Drop in any mailbox. Edited for television. Keep cool; process promptly. Post office will not deliver without postage. List was current at time of printing. Return to sender, no forwarding order on file, unable to forward. Not responsible for direct, indirect, incidental or consequential damages resulting from any defect, error or failure to perform. At participating locations only. Not the Beatles. Penalty for private use. See label for sequence. Substantial penalty for early withdrawal. Do not write below this line. Falling rock. Lost ticket pays maximum rate. Your cancelled check is your receipt. Add toner. Place stamp here. Avoid contact with skin. Sanitized for your protection. Be sure each item is properly endorsed. Sign here without admitting guilt. Slightly higher west of the Mississippi. Employees and their families are not eligible. Beware of dog. Contestants have been briefed on some questions before the show. Limited time offer, call now to insure prompt delivery. You must be present to win. No passes accepted for this engagement. No purchase necessary. Processed at location stamped in code at top of carton. Shading within a garment may occur. Use only in well-ventilated area. Keep away from fire or flame. Replace with same type. Approved for veterans. Booths for two or more. Check here if tax deductible. Some equipment shown is optional. Price does not include taxes. No Canadian coins. Not recommended for children. Prerecorded for this timezone. Reproduction strictly prohibited. No solicitors. No alcohol, dogs, or horses. No anchovies unless otherwise specified. Restaurant package, not for resale. List at least two alternate dates. First pull up, then pull down. Call toll free before digging. Driver does not carry cash. Some of the trademarks mentioned in this product appear for identification purposes only. Record additional transactions on back of previous stub. Decision of judges is final. This disclaimer may contain repetion repetion or speling erors. I stole this mother of all disclaimers off of another web site I found using google. I edited it. I like it. If you don't, please don't let me know. If you read this far you must be a lawyer trying to find a loophole in this disclaimer, or you just cheated and checked the end to see what I added here. I should have put this in the middle somewhere. So long, and thanks for all the fish. Be happy. Rock on.

Last updated 2009.10.14.