Home Page Up FAQs Registrations What's New? Audio Tools Components Disk Utilities Image Utilities Mapping Tools Net Tools Satellite Tools Runtimes Translations Custom programs Beta versions NTP Windows-10 notes


My own collection of bits and pieces designed or gathered from various sources and available for you to enjoy!  Includes:


Add Context Menu

Simple component to add a right-click entry to Windows Explorer to that you can add "Process with My Application" to the list of available options.

  Download AddContextMenu (2002 Apr 04)


Directory Tree Scanner - traverse a directory tree

Component to help with traversing directory structures.  Will notify the owner when file or directory is found.  Allows you to automate scanning a directory tree with one simple call.  This is for Delphi 4 and 5, but the same source code also works on Delphi 7.

Download TreeScanner V5.0.0 (2001 Apr 25)


Least-squares Curve Fit unit

Least-squares is a way of approximating a set of data points by an equation, allowing you to predict intermediate values or calculate some measure of the data.  You may have approximated a trend-line by drawing a straight line through a number of data points plotted on a graph.  Least-squares does just this "fitting" but in a mathematical way that minimises the errors that result.  My unit extends least-squares from just a straight-line fit into higher order polynomials for more complex data (where there may be a physical reason for a square-law fit, for example) or for a better match to the data.

Within my HRPT Reader, I had a need for a curve fitting routine that could handle a higher order fit than a simple straight-line or parabolic curve fit, and that could handle an arbitrary number of data points.  I found a version of Allen Miller's Curve Fitting routine (from: the book "Pascal Programs For Scientists And Engineers", which had been typed and submitted to MTPUG in Oct. 1982 by Juergen Loewner, and corrected and adapted for Turbo Pascal by Jeff Weiss.  I have updated these routines to work with Delphi 4 and 5's open array parameters. which allows the routine to be generalised so that it is no longer hard-coded to make a specific order of best fit or work with a specific number of points, and this same code works unaltered in Delphi versions up to Delphi 2009 (Delphi 2010 should be OK as well, but I don't have it to test).  There is a note included on using this unit with Delphi XE2.

This code is now part of the JEDI Math Library.

Richard Kavanagh ( kindly supplied a C++ version which is included in the archive as  Mats Webjörn contributed a note about using the C/C++ version with Delphi XE2.  Tony Foale ( supplied a special version where the fit is optionally required to have zero values (including slope and derivatives) at the origin.  See the file:  Carl Lira triggered an accuracy issue which was resolved using Extended real types.

  Download CurveFit (includes Delphi and C++ source and test bed) (222,362 bytes)


PNG Library with reading and writing

I have described how I rebuilt the LNPG library from public source code using Borland's free C++ compiler, and provided Delphi interface units in this Zip archive.  You can download the DLL for using these units from this page.  You need the newer, Pentium-optimised

  Download Building the PNG Library - 25935 bytes


JPEG_IO.pas - Replacing Delphi's JPEG Unit

Like me, you may have encountered problems when trying to write JPEG images between one and two megabytes in size.  You can avoid these problems by using the Intel JPEG Library, and possibly gain a speed advantage as well.  I've written this simple unit as a way of loading BMPs from JPEG files, and saving BMPs to JPEG files with the minimum of fuss.  Following requests, I have now updated it to read the half, quarter and one eighth size scaling that are easy to do with JPEG images.  Left just for historic interest, as the Intel Library has been withdrawn.  November 2009, added extra code for GetJpegSize and GetOptimumScale from Rob Spijkerman.

  Download JPEG_IO (includes source and test bed) - 37,557 bytes

  Download Unicode update for Delphi 2009 - 13,900 bytes


Delphi 3 Components & Delphi 2009 updates

These components were offered as part of my previous Delphi 3 applications.   You may require some of these components should you wish to rebuild those earlier applications.  You must E-mail me for any source code for rebuilding the current Delphi 4 or 5 applications.  The library includes the items below, plus a few other goodies such as an LED:

Disk List This component provides a TListView derived component that displays disk drives. As an added convenience to the user, fixed drives which are locally attached are automatically selected.
File List TFileListView extends TListView to display a sorted file list rather like an explorer panel. The column headings are clickable to alter the sort criterion. Now includes file and product version information.
Pie Chart Simple, fast pie chart, taking TStringList as input and responding to a double-click or right-click on a single pie segment.

Library V3.3.4 release notes

icon-download.gif (908 bytes) Download the library, V3.3.4  (70395 bytes;  1998 Mar 31)

icon-download.gif (908 bytes) Download updates for Delphi 2009 (18,364 bytes;  2010 May 03)

The PieChart component has been modified by Tony Maro for use with FreePascal under Linux, and is available from Tony's site.

Copyright © David Taylor, Edinburgh   Last modified: 2014 Jul 31 at 12:16