DelphiForFun Home

Home  |  Introduction  |  Newsletters  |  Programs  |  Feedback





Support DFF

 If you benefit from the website,  in terms of knowledge, entertainment value, or something otherwise useful, consider making a donation via PayPal  to help defray the costs.  (No PayPal account necessary to donate via credit card.)  Transaction is secure.

If you shop at Amazon anyway,  consider using this link. 


We receive a few cents from each purchase.  Thanks



The index page for all Programs on the site?

The DFF Play CD?

Zipped file DFF Play contains  executable version of about  75 of the 200+ programs from the site, mostly those I particularly liked or thought would be of widest interest for non-programmers.  The file is rather large, about 20mb..

Anything else?





Search WWW



Not a programmer (yet)?

 That's OK -  the executable version for any puzzle or  game you find here is available for download.  Just scroll down to the bottom of most any description page and you'll find a "Download executable" link. Downloaded programs are in "zipped" format to reduce size and may require an "unzipper" program unless you are running Win XP or later.  Here's a link to a free one. 

Check  out  the Most Popular  Downloads from DFF   (updated weekly)

First time visitor?

Take a look at the Introduction page to see what this site is about

Notes for Teachers


What's New


May 26, 2018

Complete this grid using the eight letters "B" through "I" so that the following four conditions are met:

  1. No column or row of the completed grid contains two vowels.
  2. No column or row of the completed grid contains two consecutive letters of the alphabet.
  3. "I" is in the middle row. "G" is not.
  4. Both "B" and "H" are in corner squares.

Here's another MENSA Calendar puzzle from earlier this month. It can be tough to solve because there is  only one letter arrangement that satisfies the 4 placement rules, but 40,319 incorrect arrangements!  There are hints that help both the user and the program solve it, as well as download links on the  Letter Logic page



May 19, 2018:

 This program lets you remove matchsticks by clicking.  The objective is to remove the smallest possible number of matchsticks that will eliminate all squares of all sizes in th grid. 

It finally happened - someone found a better solution for the 4x4 grid than my program thought possible.    How Many Squaes Version 2 posted today has a revised "best" solution target formula:   See the linked page for more details with a reward offered for a solution that beats by revised estimates!

May 18, 2018:  "Cut List" shows woodworkers how to cut a set of parts from a set of available stock.  This program creates  diagram showings the stock pieces and how the required parts may be efficiently cut from them.  A 2 line update today changed part diagram outlines from green to black. The previous green outlines and the light green fill color both mapped to the same shade of gray when printing in black/white and, if the parts were adjacent,  part boundaries could disappear!  Cutlist Version 4.05.1 posted today fixes that.       

April 29,2018:

Here's a  "Telephone words" program that converts number strings into words based on standard keypad number-to-letter assignments as illustrated here (e.g. 364 ==> DOG).

Businesses like phone numbers that can be presented as words with the idea that they are easy to remember.   I (and probably most callers) dislike them because it slows and complicates the dialing process.   But they do make interesting puzzles!.  

One problem with real phone number is that they include "0"s and "1"s which have no associated letters. I ignore "0"s and use '1"s as space characters, allowing multi-word encoding.

One other problem when using numbers to encode messages is that there may be multiple  translations. For example,46631364 not only decodes to:"GOOD DOG" but also to "HOOF FOG" and 12 other variations.  For what it's worth, this program finds them all. 


March 26, 2018: 

Here's the February 23 Mensa puzzle that resulted in No Close Neighbors Version 3.0   posted today.  Two added features for this puzzle make it several times more difficult that the original.  It's only slightly more difficult for the computer program to solve, but much harder for humans trying  to solve it manually or for the programmer trying to tell the program how to do it (me!).

The original puzzle did not allow repeated letters and told you where the unused cells laid.  This puzzle changes that.  If you're up for a challenge, check it out.  


March 15, 2018:  A few years ago, someone came looking for Delphi code to allow highlighting specific words in a DBGrid (database grid) control.  I  don't use DBGrids, but StringGrid controls serve as a good substitute, or so I thought.  One of the StringGrid features not available in DBGrid was originally used to expand column widths when highlighting text size.  Code was changed to eliminate use of hat feature, but the unused code remained in place.   A fellow programmer wrote last week informing me of the problem when converting to use a DBGrid.  GridWordHighlight Version 1.1 posted today, removes the offending code and should work for either grid type. 

February 11, 2018: 

Of the 450+ programs on DFF,  Wordstuff is one of the two that have earned places on my desktop.   BruteForce, an integer algebra solver is the other. These are the "go to" programs when I need help with our Daily Mensa© Calendar puzzles.

Wordstuff is a "wrapper" for six programs solving or helping word based puzzles.   Over the years, many bugs fixes have been applied but enhancements can introduce new ones.  Updates today fix annoyances in the Word Completion and Unscramble sections.  Use the link above for more details and to download the program if interested.

February 5, 2018:  

Cats love to chase mice, pirates love to chase merchant ships, and dogs love to chase rabbits. I recently received an interesting book titled "Chases and Escapes", (Paul Nahin, Princeton University Press). The math gets a little heavy (i.e. Differential Equations), but the initial approach, the "Pursuit Curve" illustrated here, is straight forward and fun to simulate. The Dog chases the Rabbit by always heading toward its current location. If the dog runs faster than the rabbit (and the field is large enough), he will always achieve his goal.  This rabbit has a hole where he's safe if he can run at least as fast as the dog. In this Pursuit A program you can control the speed and the dog's location when he spots the rabbit and starts the chase.  Lots of room here for enhancing this program or adding other chase strategies.   




Football Field

January 18, 20183D Lab is an interesting program which draws one of several sample 3D objects viewed from multiple angles and elevations under user control.  Even though the code is 20 years old, it implements the math behind virtually all of today's CGI productions. Much of  the code here is likely  implemented in hardware today.   Thanks to Earl Glynn for publishing the original program and for permission to re-post it here with a little  animation of figure rotation.

January 3, 2018:  Happy New Year!    Here's an interesting history clip from  the  SourceForge website today:

Today in Tech – 1983

On this day in 1983 TIME magazine named its first Machine of the Year: the personal computer. It was a deviation from their annual tradition of naming Man of the Year, but was an appropriate one. At that time the PC was making big strides and a big impact on the world at large. As TIME publisher John Meyers wrote: “Several human candidates might have represented 1982, but none symbolized the past year more richly, or will be viewed by history as more significant, than a machine: the computer.” The PC remains the first and only Machine of the Year that TIME magazine has ever named.

The What's New Archives






  • July 7, 2014:  Note: this "Collapsible"  month by month list of postings since year 2000 is not collapsing for some reason, making this a very large home page.  Until it gets fixed, you can reference the complete quarter by quarter list of postings on the Newsletter page.