Amazon.com Widgets

DelphiForFun Home


[Home] [Introduction] [Newsletters] [Programs] [Feedback]

 

 

 

Search WWW

Search DelphiForFun.org

 

Looking for Booksearch?

If you arrived at this page while  trying to get to our school reading program book/quiz search pages,  click here.

or to help 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.

In Association with Amazon.com

   

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?

Google
 

 

    

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

 

WHAT'S NEW

January 5, 2009:  Holidays are over for now, time to get back on the diet and to get back to work, physical and mental.  For the mental part, today's Four-Bar Linkage program is the first version of a mechanical linkage simulation that seems worthy of posting.   A search of DFF for "linkages" produced only one hit before today.  In an August 2002 Newsletter I wrote "I've been working on a mechanical linkages simulator program this week, but it's going to take at least another week to get anything even close to working."   Guess I underestimated the complexity of that task!.  It has taken 60+ hours to get today's posting which only scratches the surface of the "mechanical linkage simulation" topic.   I'll  be working on simpler projects for awhile to let my brain recover from the strain.      

 

December 27, 2008:  We are home from spending Christmas with our daughter and a few of the grandchildren.   Besides being humiliated by a 4 year year in a "Pacman" competition, I have a grand assortment of new reading material which should last for the next several months.   

I finished up and posted Monge's Circle Theorem demo program this morning illustrating that, given 3 circles,  the three pairs of external circle to circle tangents do indeed intersect on the same straight line! 
 

December 19, 2008: 

Merry Christmas!

One last update before we take off to help Santa Claus with his deliveries.   I ran across Monge's Circle Theorem the other day and decided to check out its surprising conclusion about pairs of tangents of 3 circles.    Using the trusty "divide and conquer" problem solving technique, today's posting is Version 4 of our Geometry demo program which tests some new line and circle functions leading to the one to find the Circle-Circle exterior tangents needed for Monge.  The demo includes brief descriptions of the algorithms used to construct the tangents.

1. Circle-circle intersection

2. Point-Circle Tangents (using circle-midpoint circle intersection)

3. Exterior Circle-Circle Tangents (using point-circle tangents)

 

 

 

December 12, 2008: One of the first  programs posted when I started DFF 8 years ago solved the problem of finding  the path from left to right through an array of numbers with the smallest (or largest ) sum.  The original version used recursion, examining every possible path to find the largest and smallest.  A sharp viewer recently pointed out that a much faster algorithm existed.  Sure enough, Graph Traverse Version 2 posted today adds the new algorithm and solves problems in milliseconds instead of seconds.


 

December 8, 2008:  Grandson Nathan, who's now 4, is into mazes  During his visit over the Thanksgiving holiday, I generated some simple and some not-so-simple mazes for him using my Maze Generator Program.  One was the "NATHAN" maze made up of the 6 letters connected into one long maze with a solution path over 600 rooms long.  He hasn't solved it yet; in fact I discovered that rooms were too small when scaled onto a single printed page and it did not print very well across multiple pages.  Version 3 posted today improves the printing and scrolling of large mazes.  Grandma just pasted up and mailed him an 8 x 30 inch version!  

I also added support for keyboard arrow keys in addition to mouse click/drag movement to trace out a solution path.  Keys work better for 4-year olds! 
 

December 5, 2008:  Today I posted Version 3 of our CopyFolder program which copies all or selected mask files from one location to another.  There's an option to replace files in the destination only if the source date is newer, but the date test was based on file creation dates.   Today's update changes the test to use "Last modified date" which makes more sense in most cases.  I also corrected a situation where the chosen destination folder was a subfolder of the source folder and the option was set to copy subfolder files.  Oops - this set up a loop situation treating newly copied files as source files and copying them over (and over and over ...).   A test now ignores the destination folder file when selecting files to copy. 

December 3, 2008:  A small change to the Intersecting Lines test program today.  Version 3.1 fixes a  problem where lines with large X values were not redrawn correctly.    We now have 7 updates posted since the original version in 2001, probably more updates that any other program on the site.  It's a good example of how competent our visual image processing system is compared to digital processing.    

November 25, 2008:  Time for one more little "Delphi Techniques" entry before Thanksgiving holiday here on Thursday.   Here's a program which knows how to  Play MP3 Files based on which sentence within an Rich Edit control is clicked. 

November 23, 2008: Back to the fun stuff after our web-site woes.  Here is one for Delphi programmers - a Fast Highlighting demo program which avoids modifying the formatting attributes of a rich edit  control by hooking into the windows procedure which paints the visible window and adding the highlighting as each window is displayed.   Since we only repaint highlighted portions of the window, we can't change the width of the text, but within that constraint, it has the advantage of being very fast.

November 22, 2008:  After 10 days of work, most of the items broken by EasyCGI's migration of the website are working again, albeit not as satisfactorily as before.  They seem not to have spent much time considering, and zero time testing, the impact of the migration on users in spite of the promises otherwise.  A few examples,

  1. Besides not checking  or notifying me about the policy change to stop allowing CGI executables,   they:

  2. Changed log file location and format without notice breaking my internal application that tracks website downloads.  They are still saving the log files zipped with ".gz" suffix and with every archived log file having the the same file name!  I can't make them understand that ".zip" is the format supported natively by Windows  and, if they must use some Linux program format, they should at least use unique file names! 

  3. Eliminated "email pointing" which required setting up a new email addresses with no way to forward emails from old to new mailboxes ,

  4. Changed the "last modified" dates all of the migrated files to the migration date (November 11), so I can longer tell when my last real changes were made. 

 All-in-all a very disappointing experience which appears to have been "planned" and implemented by the technicians.    Nothing against the technicians, I suppose I am one, just one with 40 or 50 years of experience on most of those guys.  (Check http://www.vistainter.com/reviews/E/easycgi.com/  or a number of other sites for reviews by people who much worse off than I;  people trying to make a living using EasyCGI.  People who depended on them are being driven out of business with migration horror stories worse than mine.) 

November 16, 2008:  It appears that the booksearch application and my form email applications will never run again on our current host ,EasyCGI.com.    Those apps represent  my few forays into online programming a few years ago.  They used Delphi Internet components which ran as executable files.  Executables represent some hazards to host servers and so it is difficult to find hosts willing to run them.   I don't blame them - I do blame EasyCGI for not vetting my my applications before migrating and breaking them without prior warning.  

 In the long run, I doubt that I'll be motivated to learn .NET, ADO, ASP.NET, CDONTS, and a bunch of other acronyms and concepts that hold little interest for me.   If anyone out there knows this stuff and wants to volunteer to convert them to one of the "safe" technologies, I would be grateful.   Until then, I am trying to get EasyCGI to fix a FrontPage parameter problem that would let the Newsletter and Feedback pages work again.  I have written a version of the AR Booksearch program that will run on user's PCs after they download the searchable file for a school.  And I have a really neat version of an Accordion Solitaire card game program which was interrupted by the migration mess  that I would like to get back to.  

November 12, 2008: Email appears to be working again but the web pages that execute programs (the "feedback" page, the Newsletter "subscribe" page and the Booksearch "Search" pages) are broken.   I have set up temporary email addresses for use for feedback and subscriptions, but I  do not have a workaround for the AR Booksearch pages.  I think it just a matter of our host, EasyCGI.com, setting the correct permissions to allow the programs to run . I have submitted a trouble ticket for them to do so.  Hopefully we can get it resolved today.  

November 11, 2008:  (11:00AM EST)  Our host site, Easycgi.com, is migrating DFF to a new server.  In the process, email has stopped working, temporarily I hope.   They are working to fix it, but in the meantime, if you get "Recipient rejected message" errors, try again later (or tomorrow). It also appears that some website formatting has been lost.   I'll post again when things get back to normal.      

 November 10, 2008:  A couple of utility program updates were posted today to satisfy user requests:

Copy Folder Test Version 2,  copies files matching a file mask from a given input folder to a given output folder.   It is now possible to ignore the folder structure for  files from  sub-folders of the selected input folder and to copy all files directly to the same single output folder.  

Large Files Version 3 lists the 100 (or other number) largest files on specified disk drive.  This version adds date modified information and the ability to save the list to a CSV text file for importing to Excel or elsewhere.  .   

November 1, 2008: 
How many times does the digit 1 appear in all of the integers from 0 though 999,999?  More times than I thought when I tried to answer the question manually.  Here is a simple 30 line Beginners Delphi program, HowManyOnes, that illustrates two ways to answer the more general question (How many occurrences of any given digit within any given range?).  By the way, if you download the source file, you'll find about 90 lines of code but 1/3 are blank or comment lines and 1/3 are generated by Delphi itself as controls used were dropped on the form.

October 21, 2008:  I try to average posting a new program or version each week.  Other chores have limited my spare time this week, but yesterday's "Puzzler" from the PBR radio show, "Cartalk", came to the rescue with a problem that could be solved in a couple of hours of programming.  It would probably take less than that to solve it manually, but programming is more fun!  Here's the puzzle:  

Sally invited 17 guests to a dance party at her estate in the Hamptons. She assigned each guest a number from 2 to 18, keeping 1 for herself.  At one point in the evening, Sally noticed the sum of each couple's numbers was a perfect square. Everyone was wearing their numbers on their clothing.  The question is, what was the number of Sally's partner?

Go to the Perfect Square Dance  page to download the source or executable that solves the  problem or to read about my approach to solving it.

 

October 16, 2008: The "Josephus problem" requires that the player position himself so that he is last selected in a circle of N soldiers when every Kth "soldier" is eliminated starting the count at some known position 1.   Josephus Version 2,  posted today, adds the ability to solve the inverse problem.  The final position is known along with N and K, and we must calculate where to begin the count for the selection process. 

(Left: To make position 6 the final selection in a circle of 7 Smileys when selecting every 4th, start counting at position 5.  So far numbers 1, 5, and 3 have been eliminated. in that order  The rest of the elimination sequence is 2, 4, 7, and 6.) 
 

October 9, 2008:  Last week's Numbrix™ posting led to this week's project, a Numbrix™ Puzzle Generator.  This link is to the Numbrix™ page;  the generator is available a a separate download links at the bottom of the page.   The program implements a "connect the dots" generator which finds random paths connecting all points in a  square array with all turns at right angles and no crossings.   By numbering the dots and pre-defining those to be shown a clues, a file can be saved in the format expected by our Numbrix™ solver.   

October 4, 2008: Here's  an update to our program that calculates the shortest distance between two given points on the earth's surface.  Lat-Long Distance Version 2  adds an implementation  of Vincenty's algorithm (Vincenty's Inverse) that calculates distances with an error of less than 0.001 inch!    More significantly, the program also implements the original version of the algorithm (Vincenty's Direct) that calculates end point coordinates for a great circle route given a point together with an initial bearing  and a distance.

The WHAT'S NEW Archives

(Click to expand)

 

 

Hit Counter


  [Feedback]   [Newsletters (subscribe/view)] [About me]
Copyright © 2000-2008, Gary Darby    All rights reserved.