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.
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 24, 2013: Here's wishing a
Merry Christmas and Happy New Year to all !!!
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!