It took me a long time to work out how to load classes dynamically so I thought it might be nice to have a simple example. |
These items may be useful to Delphi programmers. These are 99% home grown routines
which I find useful from time to time. It is no skin off my nose if you find
them useful also. These are mostly Delphi 2 .pas,.dfm and .dpr files so you can inspect and tweak. Read the source before using it. My standard is to put curly comments straight after the first line of the procedure body to explain what it does. If there are any text files in the zip files then please read them also. I use many of these these daily. There are some bits that just suit me fine for reasons too boring to go into and some legacy bits I daren't consign to the bit bucket. If you want to develop them to suit yourself then go ahead. If you find a bug then send me the fix.
|
NoBo Form prettifycation - Easy Drag and resize |
This is a tiny unit which gives you the ability to drag and resize borderless controls.
It is extremely easy to use with one call in .MouseDown and one in .MouseMove. It can also be used with many common controls on a form as a bonus. |
Zip file 2 K |
||||||
Shades Form prettifycation - 3-D effects and skins |
This is a unit which allows you to put a raised border round a form to make it look
like it is laid on top of the screen. Controls can be sunk or raised. As well as
the 3-D effects you can set bitmaps to skin the form surface with. The two together
go nicely. A really cool effect is to use the exact desktop wallpaper so that the form looks like it is made of a clear plastic overlay.
|
Zip file 403 K |
||||||
Acodesrt Utility |
Sorts procedure blocks within a unit into alphabetical order. Just a matter of convenience. Collects usage comments into a documentation block. | Zip file 6 K |
||||||
Useful Unit |
This is the collection of all my utility routines including:
|
Zip file 46 K 18 Oct 03 |
||||||
Columns Unit |
Column and table printing package. This is what I use when I want to print columns and tables. I can choose the heading styles, use the space available in different ways and draw all the lines and border quite simply. | Zip file 4 K Requires Useful |
||||||
QY Utility program |
Paradox database structure dumper
(1)Dumps database structure of tables to a text file. (2) Stores SQL queries (useful for e-mailing to clients with odd questions) (3) Dumps SELECTed data to screen and text file (4) Works with non SELECT SQL as well (5) Works with my dates (q.v.) This is part of the pack that goes out to customers of mine who have SQL/ Paradox databases. Makes support much easier when you can twiddle with odd queries or delete obnoxious data. Works via BDE aliases. |
Zip file340 K 18 Oct 03 |
||||||
Tokeniser Unit |
Simple tokeniser for splitting strings into sub-units. There is a lot of flexibility in setting the splitter (But not up to regular expression standards!) |
Zip file 5 K |
||||||
Ghosts Utility |
Simple program that spots cases where, although you have deleted a unit from a project, it is still referenced somewhere in a uses clause and so remains a part of the compilation! | Zip file 33 K Includes Useful |
||||||
Lists Unit |
A small number of functions that make using Tlist safer and simpler | Zip file 1 K |
||||||
Dicty Unit |
I wrote this because I found that I wanted to do things a bit more advanced
than an INI file would support. The dictionary stores variants against a
keyword, so for example D.setInteger('Height',45) stores an integer under
the key 'Height' and TF := D.GetBoolean('DoneThisBefore?') get a previously
stored boolean. An important feature is that it can load and save itself to file efficiently. See MiniIni |
Zip file 2 K requires Lists, Useful and Dataio |
||||||
miniini.pas Unit |
This is my own encapsulation of a simplified ini file. My configuration files are just comments (lots) plus foo=bar type statements so what I wanted was something very simple that I could just open then read/write specified named variables. eg. mi := TminiIni.create(''); foo := mi.getstr('FOO'); mi.free; The above example opens Sept '03: Includes Form position/font/colour save/load March '04: Includes MRU list |
Zip file 2 K 6 Mar 04 |
||||||
config.pas Unit |
This is a configuration file wrapper based on TminiIni - ie a fancy ini file But it provides support for a hierarchical key naming scheme imagine a simpler form of registry in the file of your choice. Suppose we had a file like this
|
Zip file 2 K 18 Oct 03 |
||||||
Dataio Unit |
This can be used to perform the same function as an ini file but supports variant values and encryption. For example it can be used to save memo.text values next to booleans. | Zip file 2 K Requires Useful |
||||||
Printers.pas Unit |
Hacked code and a bit of explanation to deal with mysterious problems when printing in NT or across a network of mixed OS. What we need is an explanation from Borland why they are SO UNHELPFUL about fixing these obvious bugs. | Zip file 19 K |
||||||
FileBu.pas Unit |
This is a one-stop call which creates and mainatains an aged chain of backup files. For example to create a daily, weekly and monthly backup a single call with parameters of [1,7,31] would do the trick. This is sometimes called the Tower of Hanoi method and is useful when you want to have frequent copies of fresh data but only a few copies of ancient data. |
Zip file 3 K 18 Oct 03 |
||||||
InputFile.pas Unit |
Very simple encapsulation of Textfile for input. Knows what line it is on and can report sensible error messages. | Zip file 1 K 18 Oct 03 |
||||||
Message dialog boxes Unit and package Combined with below |
I have combined an OK box, an Alert box, a yes/no dialog and an input dialog into a single
unit and added the features I use all the time.
|
Zip file 18 K | ||||||
Check-list dialog boxes Unit and package Combined with above |
You can operate this in three modes:
This is a recent addition so may get changed and ahem, bugs fixed |
Zip file 18 K | ||||||
Letterheads Unit |
I often want to incorporate being able to print a customer's own letterhead
into an application. In the past I did this by coding the bits I wanted
but now I've packaged it all into an object which reads a configuration
file. In the configuration you specify the bitmaps (it doesn't scale bitmaps but it will sort out different bitmaps for different printers) texts and other rectangular areas (in which you'll be putting something later under program control). By creating the letterhead object you'll select the printer and be ready to print the complete letterhead or programatically select the elements to print. After that you've got access to the text areas which you might use for printing addresses into window envelopes and the dimensions of the space you've left for printing the actual content. This is a recent addition so may get changed and ahem, bugs fixed |
Zip file. Requires useful and miniini 10 K |