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 CD.zip 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

Search DelphiForFun.org


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


January 4, 2015

Delphi For Fun Newsletter #75

Happy new year to all!

I hope everyone had a year as my wife and I.  The market was up, I lost 20 unneeded pounds,  and we have learned to accept and even find it humorous that we're losing immediate recall for familiar things.  They come to us a few minutes or hours later (that tree was a dogwood,  the PBR Bull of the year for 2014 was Bushwhacker,   the evening or morning garment is a bathrobe, etc.) .   If you are not in your mid-seventies yet,  you have all that fun to look forward to.

As mentioned last time, I've cut back on programming time to spend more time with family activities.  Grandson Jeff is visiting now and we're enjoying Grandpa/Grandson projects like fixing the overhead door I ran the tractor through, assembling the new tractor mounted snow blower, cutting firewood, and hunting.    

The 4th quarter postings were mainly fixes or enhancements to existing programs with one new program, a License Key Generator illustrating one way that ownership names, dates, etc, could be embedded in an assigned license key.    Here's the list: 



October 1, 2014:  A small update the other day created CutList Version 4.01 to help resolve a printing problem when saved manual solutions are reloaded without first loading the case definition file.   The requirement still exists, but I hope it is now better diagnosed for the user. 

October 5, 2014:  DFF Newsletter #74 was sent last night to 853 subscribers.  The newsletter is issued quarterly summarizing website postings for the previous quarter and is mainly intended for those who like the website but don't visit regularly.  It is motivated by my personal experience of losing track of many interesting  websites that I like but don't need to visit daily or weekly.    There were only 7 invalid email addresses this time so the list has pretty much settled down to our group of "permanent" subscribers. 

Brute  Force Version 3.2.1 was posted today to fix a small problem when the  image from the previous problem still displays after a new problem is started or an existing problem without an associated image is opened.

October 11, 2014:  Here is a program posted in our Delphi Techniques section which tests list creation and retrieval speed for standard TStringList  and for  the DFF integer list equivalent, TIntList.  Times and rates can be compared under multiple Delphi versions using the same source code.  My conclusion from testing with Speed Tests for Lists is that integer lists are much preferred if possible when performance is important.      

October 19, 2014: 

KenKen is a Sudoku like game with a little math involved, cages instead of 3x3 blocks, and allowing numbers to be repeated within cages so long as no number appears more than once in a column or row. 

While solving a new puzzle the other day, I found a couple of irritating program "features" when the user has filled all cells but errors exist.  First, automatic checking to produce error messages for every change until the errors were corrected was awkward and just a bad idea.  Second, when I tried to fool the program by entering spaces in all of the error locations, I found that space character was not honored as a valid key,   Both of those mistakes are corrected today with the posting of KenKen Version 2,1.


November 22, 2014:  It's been a busy month here on the mountain.   The 1st deer is in the freezer but, as usual, the smart ones quickly become nocturnal when the shooting starts so hunting becomes a matter of waiting for "dummy" to show up.  We do have "mama and the twins"  visit us daily to pick at the turkey corn  or whatever apple peelings we throw out, replica watches for sale but she's been visiting us for so many years that she is like a family member and strictly off limits.    I just finished a big woodworking project as a Christmas present for a daughter (photo coming soon), and I'm restocking the wood pile to replace the extra wood used during the recent cold snap.  It is nice to keep our living space between 74 and 78 degrees with the only cost being gas and oil for the chainsaws and wood splitter with the added advantage of getting some daily exercise.

With family coming for Thanksgiving next week, today's posting of our Word Stuff program with one bug fix and one enhancement will likely be the only DFF change this month.  Both changes were triggered while using the program to help solve Mensa daily calendar puzzles.  See Word Stuff #2 page for details.       


November 24, 2014:  Our popular CutList program  underwent a fairly major update a month or two ago.  A minor bug caused zoomed  cutting diagrams to display across multiple screens but without a scrollbar to allow access.  CutList Version 4.02 posted today fixes the problem.

December 3, 2014: Brute Force solves a class of problems that can be represented as equations with integer solutions.  The solution must be from a predefined set of integers.  As restrictive as that sounds, there a many problems that replica watches for sale qualify.  It recently occurred to me that not everyone will be entering new puzzles to Brute Force, but might want to solve some of the 42 sample problems included with the downloads.   Brute Force Version 3.3 no longer displays the solution  parameters and equations when a problem is  loaded. Try to solve it on your own first!   A new button allows saved solution stuff to be displayed if you need help or just want to see how I solved the problem.

December 23, 2014:   I have often wondered how license keys are generated to incorporate data unique to a particular transaction.   A user recently requested a model to include licensee's name, licensing date, and license period.   Here's first cut at a method to accomplish this.  I have generalized the program to include multiple fields of fixed or variable length by including a field definition table.  License Key Generator has demo code to create License Keys and to decode the keys back to the original input fields for verification.

Albert Einstein quotes


“Intellectual growth should commence at birth and cease only at death


“We can't solve problems by using the same kind of thinking we used when we created them.”


Logic will get you from A to B, imagination will take you everywhere.


There are two ways you can live your life; as if nothing is a miracle and as if everything is a miracle.


“Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.”


If you can't explain it simply, you don't understand it well enough

Click to subscribe or unsubscribe or to provide Feedback.

306,000 site visits and 302092 program downloads in the past 12 months!