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 15, 2014

Delphi For Fun Newsletter #71

Winter has been slow in coming this year.  A week of record cold followed by weeks of alternate thawing and freezing that is hard on our  long gravel driveway.  We would prefer that things stay frozen until the real spring thaw.    But the seed catalogs are arriving giving hope that, even if winter is here to stay, nature will prevail and spring will come eventually.

The big DFF event of the quarter was my upgrade to Delphi XE5 Professional in November.  I really like some of its features but dislike others.  The bottom line is that existing Delphi 7 programs can be compiled without too much trouble in XE5 (see the December 13 posting below for a "differences" link), but executables are several times larger in XE5 than in D7.   I have posted a poll  here soliciting which version of Delphi you use.  Please vote if you haven't already done so.  Current results ( here) show a fairly even split; 51% Delphi 7 or earlier , and 46% (including Lazarus) after Delphi 7.  

Delphi 1 - 6 Delphi 7 Delphi 8 - 2010 XE -XE5 Starter XE -XE5 Pro+ Lazarus None
18% 33% 11% 5% 22% 8% 3%

I plan to keep D7 as my primary compiler with XE5 as a backup if I run into a problem that needs its added features.  As always, I can probably assist users with other versions who run into problems compiling my programs.   

Below are links to the the 4th quarter projects.


October 14, 2013:  Our ReactionTimes programs  measure human response times to various stimuli and save experimental results for further statistical analysis.   Changes were implemented today to better handle analysis of results for countries which use comma as a decimal separator in floating point numbers (Europe and others) instead of the decimal point used in North America. ReactionTimes V4.2 and ReactionStats V3.2.  should now generate and process response summary files correctly.

October 22,  2013:  Many have worked on those Logic Puzzles whose goal is to determine "who sold what for how much", or "who rode which ride and won what kind of toy".  Solutions are based on clues and usually include diagonal grids containing true/false sub-grids to help match items across categories.  Here's a Logic Grid Print program which allows the user to print multiple copies of such grids after entering  "Categories" (Names, Rides, Prizes, etc.) and the "Items" within those categories (Joe, Roy, Sam, etc.).   Now  you can preserve those grids in the puzzle magazine for others' use, or create grids for puzzles which do not include them, or try multiple search paths where a "guess" may be required to find the solution.      Drop me a line if you would like the text and clues for this sample puzzle.        Have fun!

November 2, 2013: I received three emails in October which have led me to consider upgrading from Delphi 7  to the current version, Delphi XE5.   See 2013 Delphi Upgrade Plans for details.

November 10, 2013:  I purchased my XE5 upgrade last week so the learning curve is taking an upward turn.  Two postings this week implement the first updates.  Testing Delphi Versions now includes the conditional Version names through XE5 an suggests and even better way to automatically change the source code based on compiler version.  (Hint: it uses the global constant "compilerversion".)

BigIntsTest V2.1 is the big integers test program I was working on to display the internal representation of digits of large integers at the request of a user trying to understand how it works.  The download includes a new version the big  integers unit which should compile successfully for any Delphi versions after Delphi 5.

 November 17, 2013:  BigIntsTest V2.2  and UBigIntsV4 posted today  include the first significant use of features not available in Delphi 7. "Operator overloads"  allow us to write arithmetic and comparison operations for big integers much the same as we write for normal integers.  The best news is that both old and new versions are supported in single source code images for the unit and the test program. 

November 24, 2013:  ComboTest Version 2.0, our combinatorial calculator; posted today has a minor (but significant) change to allow larger, 64-bit, sample sizes to be analyzed.  The change was motivated by request from a college professor simulating a draw of 5 items from a set of 500 values with replacement.  There are more that 285 billion ways to do this.  The built-in Random function in Delphi tops out  around 4 billion so I implemented a 64 bit Random Number Generator to allow generating random samples  from the 285 billion possibilities.  Changes to several DFF library programs were required to implement this.   

December 5, 2013:   Thanksgiving, 2013  is history, the 1st deer is in the freezer, and the front deck has a full load of firewood in preparation for the major ice storm heading our way this weekend.  I've filled the free time for the past couple of weeks educating myself about random number generators (RNGs) and how to test them.    Thankfully, the result is the Chi-Squared RNG Testing  program posted today. 

December 12, 2013:   A viewer recently asked if other click sound files could be used in our Metronome program.  Metronome Version 2.1 posted today allows users to select up to 5 sound files of their choice by right clicking on an existing file and browsing for a replacement.  Changes are remembered for future runs. 

For programmers: Metronome would not compile under Delphi XE5 because it uses the DFFUtils library unit which contains a number of utility routines. XE5 throws a "subrange violation" error in the LineNumberClicked function even though the parameter is valid.  A workaround version has been included in the DFFLibV14 library zip file and reposted today.

 December 13, 2013:  I had added a Delphi 7 - XE5 Differences page  last month to document considerations, but neglected to announce its availability.   I added items to the page today documenting the "Subrange Violation" error described yesterday and it's fix.  Also added some information  about the size differences between executable files created by the two compilers.  XE5 files are several times larger than D7 files for no reason that I have been able to identify so far so I will be posting Delphi 7 executables whenever possible.

December 16, 2013:

 The small How Many Cubes program answers (or verifies your answer) to the question:

"How many cubical arrangements of the small cubes are embedded in this 4x4x4 cube?" 
December 18, 2013:
 I'm trying to resolve outstanding questions before taking a holiday break.  Today's involved generating large floating point numbers that someone wants to use as a source of random numbers.   I'm not convinced he's on the right track but the effort was worthwhile because my test program revealed a  problem introduced with the November update to our Big Integers unit.  Big Float uses the Integers unit but is not compatible with the "Operator Overload" operators implemented on November 17.   Changes were made to our BigFloatTest program and and a special Big Integers unit were posted today.    

December 24, 2013:  Here's wishing a

Merry Christmas and Happy New Year to all !!!


On learning:

  • "If a man empties his purse into his head, no man can take it away from him. An investment in knowledge always pays the best interest." -- Benjamin Franklin

  • "To make no mistakes is not in the power of man; but from their errors and mistakes the wise and good learn wisdom for the future." - Plutarch

  • "Take all the training you can get; one good idea is all you need to save yourself years of hard work."  -- Brian Tracy

  • "As a rule, he or she who has the most information will have the greatest success in life." - Benjamin Disraeli

  • "I hear and forget. I see and remember. I do and understand." - Confucius (551 BC - 479 BC)

  • "Ancora Imparo" ("Still I learn") - Michelangelo (1475 1564)

To subscribe or unsubscribe from this newsletter, visit http://delphiforfun.org/newsletter.htm

322,000 site visits and 324,485 program downloads in the past 12 months!