| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | SysTools v1.0 |
SysTools
16-bit and 32-bit System Routines for Serious Delphi Developers
---------------------------------------------------------------
Serious Delphi developers rely on SysTools to handle the low-level
work so they can focus on the unique features of their Delphi
programs. Shouldn't you be using the most comprehensive collection of
system level routines available for Delphi?
Written from the start with 16-bit and 32-bit compatibility in mind,
SysTools delivers hundreds of fast, reliable routines for nearly every
programming need.
Start with SysTools' unique container classes. These versatile,
object-oriented structures make it a snap to drop in linked lists,
trees, stacks, queues, bitsets, virtual arrays, and more with minimal
coding.
Next, check out the drive and disk control routines, the speedy
mergesort engine that can sort any data fast, and the classes for
dealing with INI files or the Windows 95 and Windows NT registry.
SysTools includes date manipulators, too, along with comprehensive
string handling routines that work with traditional Pascal strings,
PChars, and Delphi 2.0's new huge string type. BCD arithmetic
functions offer up to 38 digits of precision with the predictable
rounding essential to serious business applications.
SysTools routines are written in highly optimized Delphi code that you
can examine for yourself. There are no royalties to pay and your
satisfaction is guaranteed or your money back.
Leverage the power of SysTools in your next project and find out for
yourself why serious Delphi developers turn to tools from TurboPower
Software Co.
Not Just Another Collection of Widgets and Gadgets
--------------------------------------------------
Most of the effort by third party vendors to extend access to Windows
API services and the Delphi visual component library has been
concentrated on user interface tools of various types. While these are
certainly important, it's just as critical to have solid lower-level
routines for the brains behind the pretty face of your application.
SysTools is a collection of essential classes and functions that take
care of the low-level work and free you to focus on the unique
features of your program.
SysTools brings to Delphi the system-oriented routines from
TurboPower's popular Win/Sys Library and Object Professional products.
Although the functionality is similar, most routines in SysTools were
written from scratch to work correctly in both 16-bit and 32-bit
Windows, to integrate with Delphi's class model, to improve
performance, and to implement commonly requested enhancements.
You might think that writing such low-level functions is so easy
that you shouldn't spend money on them. But consider: the SysTools
routines are thread-aware in 32-bit applications. They use
hand-optimized 16-bit and 32-bit assembly language where appropriate
for snappy performance. Many of the classes and functions are based on
painstaking research to determine the fastest, most accurate algorithm
for each job. The SysTools classes are fully integrated with the
Delphi object model so you can count on predictable behavior. SysTools
uses exceptions to report errors in the most convenient fashion. And
the SysTools routines have been tested thoroughly so you can depend on
a reliable foundation for your application. You are getting much more
than an afternoon's work for your money when you purchase SysTools.
Strings Any Way You Want 'Em
----------------------------
Although Delphi's built-in string support is respectable (via the
SYSUTILS unit), there's still plenty of room for improvement. SysTools
takes string support to the limit! SysTools includes three separate
sets of functions optimized for traditional Pascal strings (length
byte, up to 255 characters long), for null-terminated ASCIIZ strings,
and for Delphi 2.0's new huge strings (length double-word, up to 2
billion characters long, dynamically allocated).
Among the many string operations supported by these units are:
- count and extract words
- word wrap within margins
- compute Soundex (similarity index) for fuzzy name matching
- perform speedy Boyer-Moore searching
- encrypt and decrypt
- substitute and filter characters
- convert spaces to and from tabs
- parse and combine filenames
- format numbers as hex, binary, and octal
- convert to and from various numeric types
- pad and trim in many different ways
- format numbers
Just as important, the calling syntax of these routines will be
familiar to thousands of Object Professional and Win/Sys Library
programmers.
SysTools also includes an object-oriented string class that
encapsulates most of the operations. Strings can be written to and
read from the class using any string format. The class performs its
own memory allocation and other convenient usage features.
Business-Class Date and Time Manipulation
-----------------------------------------
SysTools provides the most comprehensive set of date and time
manipulators available anywhere. Dates are stored as a four-byte
integer representing the number of days since January 1, 1600. Times
are a four-byte integer containing the number of seconds since
midnight. You get functions to:
- perform financial bond arithmetic on dates
- compute day in week and week number in year
- return the current date and time
- convert day, month, year to and from date
- convert hour, minute, second to and from time
- add and subtract dates and times
- convert to and from astronomical Julian dates
- convert to and from two-byte dates
- convert to and from Delphi-format date/times
- reliably detect leap years and days in month
- round time to nearest hour and minute
- convert date and time to and from formatted strings
The SysTools date routines have no problems at the century 2000
rollover. In fact, they are valid through the year 3999!
BCD Reals for Serious Business Accuracy
---------------------------------------
Delphi now offers various real data types that might have enough
accuracy for your business calculations. The leading contenders are
the Double type with 15-16 digits of precision using a binary floating
point format, and the Currency type with 18-19 digits of precision
using a scaled integer format with four fixed decimal places. But are
these good enough?
The SysTools BCD unit offers the most accurate solution for
mission-critical business arithmetic. It uses a packed decimal format
that completely avoids unexpected roundoff errors when converting to
and from strings and when performing arithmetic operations. The
default 10 byte BCD size offers 18 digits of accuracy with numbers as
large as 10**64 and no restriction on decimal places. By changing a
constant in the unit, precision can be raised to 38 digits. An extra
digit is also used as a rounding guardband during internal operations.
The BCD unit provides the functions essential for business
applications:
- add, subtract, multiply, divide, compare
- round to specified decimal places or total digits
- test for equality within specified decimal places or total digits
- convert to and from strings or other real data types
- create formatted strings
- compute exponent, log, power, and square root
Don't risk losing your cents with less powerful data types than
the SysTools BCD!
Sort as Much Data as You Have
-----------------------------
Quick sort and merge sort are two computer science algorithms that
will be recognized by almost all programmers. SysTools combines these
techniques to create a fast, efficient sorting class that is limited
only by the amount of disk space on your system or network. All you
need to write is a function that compares two records. SysTools
handles the details of memory management, run sorting, file merging,
and disk cleanup. It will use all of your system's RAM for sorting if
you ask it to, or it will create temporary merge files to hold the
overflow. The SysTools algorithm can sort up to 2 billion records each
as large as 2 billion bytes in 32-bit applications (record size is
limited to 64K bytes in 16-bit apps). SysTools doesn't need to know
the number of records in advance, and it doesn't care where the
records are initially stored or where they will end up after sorting.
Container Classes for the Masses
--------------------------------
Don't think of container classes as something left over from CS 101
or a Smalltalk lecture. Think of them as a way to accelerate your
applications by using the creative ideas of the world's brightest
computer scientists. SysTools provides flexible, highly optimized
Delphi classes that implement the most widely applicable container
classes.
Linked lists
- store any number of items of any type
- doubly linked for speedy access in both directions
- insert at head, tail, in the middle, or in sorted order
- join or split lists
- search for nodes
- quickly scan using an iterator or a for loop
Queues and stacks
- a descendant of the linked list with push and pop operations
Bit sets
- efficiently manage up to 500 thousand (16-bit) or 16 billion
(32-bit) booleans
- combine sets using AND, OR, and XOR operations
- conveniently test and control individual bits
- quickly iterate through all set or clear bits
Dictionary
- associate a string name with a data value
- add, delete, and update names
- perform very fast lookup operations
Huge arrays
- manage 1D and 2D arrays of almost any size, even in 16-bit Delphi
- allocate arrays of dynamic dimensions and element size
- sort matrices by row
- get and put entire rows in one operation
Virtual arrays
- manage 2D arrays larger than fit into RAM
- treat fixed length record files as cached arrays
Balanced binary trees
- create very fast in-memory lookup trees
- implement self-balancing (AVL) trees for reliable operation
- quickly scan all elements in sorted order
- join or split trees
Sparse collections
- manage arrays whose size is not known in advance
- use memory efficiently when elements are sparse
- insert elements in sorted order
- emulate the TCollection object from TP6 and BP7
The SysTools container classes derive from Delphi's TPersistent
class and can be stored to and loaded from Delphi streams. Wherever
possible they use the handy Delphi "default indexed property"
technique to allow treating the class as a smart array.
Manage INI Files and the Registry, even Remotely
------------------------------------------------
The SysTools StRegIni class lets you treat INI files and the Win32
Registry in a consistent fashion. Control your program's configuration
options in the right place for each Windows platform without any
hassle! You can even access the registry of remote computers on a
Windows NT network.
Here are some of the methods of the StRegIni class:
- read from and write to an INI file
- read from and write to the registry
- read and write boolean, integer, string, float, date, time,
and binary array data
- create and delete key sections
- get a list of all key sections
- open and access remote registries securely
And There's More
----------------
You also get convenient routines to:
- quickly perform low-level data manipulation such as combining
bytes into words, integers into longs, swapping words, setting and
testing bit flags, exchanging data structures, returning min and
max values, filling structures, and more
- get information about system disk drives
- manage file handles and file flushing
- copy files
- read and change volume labels
- seek within text files
Examples for Everyone
---------------------
SysTools includes a wide range of example programs, with code
fragments for each function, short compilable examples for each
library feature, test programs for library validation, and
larger demonstration programs that put it all together.
Order Information
-----------------
SysTools 1.0 is available now. The list price is $149 plus shipping.
Shipping adds $10 for Federal Express two-day service within the US,
$10 for airmail to Canada, and $20 for airmail elsewhere in the world.
SysTools includes a 60 day money back guarantee, no royalties for
distributing apps based on its code, full source code, comprehensive
printed documentation, integrated Delphi help system, free technical
support, and free maintenance patch downloads.
We accept MasterCard, Visa, American Express, Discover, a check in
U.S. funds drawn on a U.S. bank, or COD (within U.S. only).
Contacting TurboPower
---------------------
Toll-free sales (US and Canada) 800-333-4160 (8am-6pm M-F, Mountain time)
Sales (international) 719-260-9136
Fax 719-260-7151
CompuServe e-mail 76004,2611
Internet e-mail info{at}tpower.com
CompuServe support GO TURBOPOWER (section 6)
Voice support 719-260-6641
World Wide Web http://www.tpower.com
Postal mail TurboPower Software
PO Box 49009
Colorado Springs, CO 80949
-Glenn Crouch
Sysop, Algorithms Anonymous (090) 93-3145 (Australia)
3:690/643.3
esbglenn{at}acslink.net.au
---
* Origin: Glenn's Point - Kalgoorlie, West Australia (3:690/643.3)SEEN-BY: 633/267 270 @PATH: 6430/3 690/643 613 660 711/409 808 50/99 635/544 727 633/267 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.