Products by Explain That
TEllPath - 17 February, 2009
When using a TLabel control to display file or directory paths it isn't long before the need arises to display a path that is too long to fit in the maximum width available for the label with the result that text spills over on to a new line -...
SetFileTime Demo - 06 November, 2008
When digital copies of documents, photographs and transparecies are created by scanning they usually end up with the wrong timestamp - the instant when the file was actually created. Here we demonstrate how the Windows SetFileTime function can be...
JPEG Thumbnail Builder - 19 May, 2008
It is often necessary to build thumbnail versions of JPEG images for display on websites. We demonstrate how this can be done using Delphi
TAssArr - 08 April, 2008
MIME Base64 Encoding - 13 March, 2008
MIME encoding is a technique used for converting any data into a format suitable for display on screen and/or paper by remapping the data onto a subset of readable characters. A procedure often used for this purpose is Base64 encoding which maps...
Improved Random Number Generator - 13 February, 2008
Random number sequences generated in Delphi using the native Random function leave much to be desired. By default the same number sequence is produced each time the parent application is run. Matters can be improved to a certain extent by seeding...
TRealList - 12 February, 2008
The Delphi TStringList class provides a handy way of managing lists of strings. TRealList does the same thing for floating point numbers. TRealList methods and properties can be used to add, delete, insert and find real numbers. The Granularity...
PlaySounds - 21 January, 2008
The Windows MessageBeep function is often used from within Delphi applications. However, it only offers the possibility of playing a small subset of the many sound effects that can be defined in Windows. Here we describe the use of the PlaySounds...
Embeded Forms/Admin Console - 21 December, 2007
Delphi provides a rudimentary mechanism for reusing form designs - instead of placing controls inside a form you place them inside a relocatable frame. However, this approach has limitations. Quite apart from the fact that its implementation is...
TBitList - 04 December, 2007
The Delphi TBits class can be used efficiently to store boolean variables in a bitfield. TBitList is similar. However, unlike TBits, it offers the ability to read/write stored boolean values from/to a file. The underlying code is pure Delphi -...
Huffman Encoding Algorithm - 14 November, 2007
An efficient Delphi implementation of the Huffman encoding algorithm with extensive notes.
Sorting Algorithms - 09 November, 2007
The Bubble , Selectionm Insertion, Heap, Quick and Shell Sort algorithms implemented in Delphi
Delphi Quick Reference Card - 30 October, 2007
We have summarized the essential core features of the Delphi programming language for printing back-to-back on a single sheet of paper.
Extended Delphi Buttons - 18 October, 2007
The Delphi TButton control does not have the ability to show multiline captions or captions with mixed colors, fonts or styles. However, since buttons have the intrinsic ability to host other controls such as labels this limitation is quite easy...
TUpDownE x - 10 October, 2007
The Delphi TUpDown control is a thin wrapper for the equivalent Windows control. It suffers from two drawbacks: 1. In real use it is necessary to provide not just the updown control but an edit box so the user can make direct entries if he/she so...
TLuaWrap - 05 October, 2007
Lua is an scripting language from PUC Rio, Barzil. It is embeddable, compact, easy to configure and to extend. TLuaWrap is a Delphi wrapper for Lua.
TSQLite - 05 October, 2007
SQLite is a C library that implements a zero-configuration sQL database engine. It provides a great way to create a self-contained Delphi application with a stable, well tested SQL database backend that is supported by a growing community of...
Explain That - 04 October, 2007
There are various techniques for localizing Delphi applications - i.e. converting user interface elements etc to the user locale language. Most of them require a recompile of the application being localized. We present a technique that...
TWinWrap - 03 October, 2007
The WinInet API for Internet communication using protocols such as HTTP is available on all computers running Microsoft Windows with Internet Explorer installed - i.e. nearly every computer on the planet. TWinWrap is a Delphi wrapper that makes it...