A. Delphi Examples
|ListSort. Use THeaderControl to define columns
at design time. Change size of TStringGrid columns to match THeaderControl as
part of FormCreate. Use OnSectionClick to sort column by Last Name, First Name,
or ID number by using List.Sort routines.
Delphi 3 Source and EXE
|Memo Save/Restore Display/Print. Assigning TMemo.Text to
a TStringList to use SaveToFile/LoadFromFile works but trashes the ability to re-wrap text
-- this save/restore operation freezes original wrapping of text in TMemo. MemoSaveDisplay
first shows how to save and restore the TMemo.Text to a file using a TMemoryStream so the
text is not wrapped only to fit the original TMemo. Select the Display or Print buttons to
fit the contents of a TMemo manually on a canvas, either on the screen or a printer. This
demo was developed to complement Hardcopy above in printing text from a TMemo
box, but could also be used as a starting point for a print preview capability.
The text is parsed using a Tokens class, which is based on a finite state machine that recognizes single or multi-word tokens.
Delphi 3 Source and EXE. Order to press buttons: Read, Display, Print.
|TMemo, TMemoryStream, TBitmap, Tokens, finite state machine|
|ASCII-to-Paradox command-line utility
Start with ReadMe.1ST and AscToPDX.DOC.
For a similar utility, see "Building a data import utility," in the July 1998 Delphi Developer's Journal, pp. 3-12. Look for 98JUL/DDJ9871.ZIP.
"ASCII Made Easy: Manipulating ASCII Files with the Table Component, "
Delphi Informant article by Cary Jensen, June 1999, pp. 26-32
TVarRec, Slice, Tokens, REXX unit
|Example command-line utility to dump Paradox table to ASCII file.||APPTYPE CONSOLE, TTable|
|Pinger 1.1 utility. Freeware for non-commercial use. Fee
for commercial use.
Specify a StringGrid of IP addresses. Utility cycles through list pinging with frequency specified in INI file. Can modify INI file on network to disable utility. Writes page files for use with Pager Utility (below). Writes results to log file for review. Delphi 3 Source and EXE.
Uses icmp unit from www.mg-soft.si.
|TPageControl, TStringGrid, TIniFiles,
|Pager utility. The EXEs described below require the XPAGER32.DLL
for operation, which is included in the ZIP file. Delphi 3 Source and EXE. See ReadMe.Txt
Since I developed this program, a newer version of XPAGER is now available
and is called Power Page. Contact Ron Tanner at www.inventiveweb.com/prod01.htm for
information on how to obtain the XPDELPHI.PAS unit to recompile the Delphi
projects. All my source code is in the ZIP. (Only XPAGER32.DLL can be distributed
due to the license agreement.)
|TPageControl, TStringGrid, TIniFiles, TTimer, user-defined Windows messages, modems, phone dialer, ExclusiveIO unit to read text files in exclusive mode (also reads DOS or UNIX line ends), QueueManager unit, StringGridLibrary, Tokens Library|
|Visual Chron utility. VisualChron is a Delphi utility
that works somewhat like the UNIX "cron" command to run commands at specified
frequencies. Design to work with Pager Utility (above).
Delphi 3 Source and EXE. See ReadMe.1st file.
|TPageControl, TStringGrid, TIniFiles, TTimer, REXX Library, Tokens Library, StringGridLibrary|
|"Till" Countdown clock. The default behavior is to count down till the next January 1, regardless of the year, until you select your target time.||TTimer, Now, TDateTime, TDateTimePicker, DateTime_SetFormat, Application.OnRestore, Application.OnMinimize, Application.Title, Format, ClientWidth, ClientHeight, Trunc, Frac, DecodeTime, EncodeDate, TIniFile, WritePrivateProfileString, ShellExecute|
||Arial Unicode MS. Display any of the 65,536 Unicode Characters. (Requires Windows NT/2000 and Windows 2000)||Unicode, Arial Unicode MS font, Unicode Block, Unicode NamesList.TXT, WideChar, WideString, SetLength, Delete, TextOutW, ExtTextOutW, GetTextExtentPoint32W, StringGridDrawCell, StringGridClick, TBitmap, TImage, palette, TRichEdit, TCombobox, Invalidate, GetVersionEx, TOSVersionInfo, Fonts.IndexOf, ShellExecute, OpenClipboard, EmptyClipboard, SetClipboardData, CloseClipboard, CF_UNICODETEXT, StretchDIBits, Printer.Canvas,|
|Hershey Font. This Delphi/Kylix project demonstrates how to manipulate the data and display the characters in the original Hershey font files.||Hershey Font, rotation, scaling, VCL, CLX, TStringList, TListBox, TSpinEdit, Application Icon, Delphi 3/4/5, Kylix, Linux|
B. Utilities and Other Programs
|System Map. Includes BIOS, DOS, Memory and Disk
Information. The Memory Map was part of SysMap and was published as a
utility, MemMap, in PC Magazine in 1990.
Turbo Pascal 7 Source and EXE.
|DOS Interrupts, BIOS Interrupts|
|Boot Sector Check. Utility for scanning boot sector of a disk, and optionally, verifying CRC of boot sector. Intended to detect boot sector viruses. Turbo Pascal 7 and assembly source, and EXE.||DOS Interrupts, BIOS Interrupts, Absolute disk sector read|
CharCnt and Xlate
|Character Count and Translate utilities. CharCnt
forms a frequency distribution of characters in file, and optionally creates a translate
table in a file for use with the Xlate program. Suspect some strange ASCII
character in a text file? Verify this with CharCnt.
Xlate copies a file while translating characters from a table. ASCII-to-EBCDIC and EBCDIC-to-ASCII conversion tables are included for Xlate. Turbo Pascal 7 Source and EXE.
EBCDIC.PAS TP/Delphi EBCDIC-to-ASCII unit.
|CharCount||Windows program to see frequency count of all bytes in file.||Updated (2013-05-08):
Includes Delphi XE3 source code.
Added drag and drop of filename from Windows Explorer.
|Generate Text. Need a large file to measure transfer
times? GenText.C (Borland 5.02 C++) or GenData.PAS (TP 7) creates files as large as you
want. Each program outputs a specified number of 64-byte lines with a line number in the
center and shifting text.
GenText was modified to allow up 99,999,999 records, which means it can be used to create a file of about 5.9 GB (C is a pain since the "minimum width" field automatically expanded and then precise file sizes were not maintained.). GenData allows any value as a parameter but only creates 999,999 unique records before repeating.
|I/O timing tests|
|Music. The MusicNot.PAS unit lists the
frequency of music notes (from the Handbook of Chemistry and Physics). The Music.PAS
program shows the each word as a tone is played. Includes a few songs appropriate for
kids, including (Frere Jacques) Are You Sleeping, Twinkle, Twinkle, Little Star,
American the Beautiful, The "Alphabet" Song, Santa Claus Is Comin' to Town.
This old DOS program still works in Windows 95.
See easier solution in post by Timo Salmi.
8 May 2013
1 Nov 1998