Bruce Tonkin develops and sells software for TRS-80 and MS-DOS/PC-DOS computers. You may reach him at T.N.T. Software Inc., 34069 Hainesville Rd., Round Lake, IL 60073.
QuickPak Professional; Crescent Software, 11 Grandview Ave., Stamford, CT 06905; 203-846-2500. IBM PC and compatibles. DOS 2.0 or later; Microsoft Basic and Quick Basic compilers, Versions 1.0 or higher, or Turbo Basic. Price: $149.
QuickPak Professional is a set of routines (many in assembler) intended for use with the Microsoft Basic and Quick Basic compilers, versions 1.0 or later, and with Borland's Turbo Basic.
I counted 276 routines (there are a few more on disk, documented in a text file) and saw just a handful I couldn't use; if only a dozen were worthwhile, QuickPak would still be worth the money. I give this package an unqualified recommendation on the basis of its value and utility.
Before talking about the routines, you should know the downside: There is no quick reference, summary, or index. The manual is not numbered by page but by section and page within section; I'd prefer the former. There is a decent table of contents, though, and the routines are usually named clearly; that makes finding references easier than you might think. Still, an index would be worthwhile.
It would be even nicer to have a reference card or section that listed routines by function (for example directory routines or file routines). The present manual does provide section headings in the table of contents, but those headings are a bit too general. Further, there is no explanation of the routines except those given in the body of the manual itself. The table of contents lists a routine named "DOSVer." It's easy to guess what that one does, but what about "FGetRT?" From the table of contents, we know only that it's a DOS service routine. (It's similar to a random file GET, but avoids ON ERROR handling.) Memory joggers are always useful, particularly when there are more routines in QuickPak than keywords in Quick Basic or Turbo Basic.
I was told that a new version of the manual is in preparation. I hope these shortcomings are addressed, because the explanations and examples in the manual are very good --both clear and detailed. The hints and discussions of various programming techniques are valuable, too.
I could probably make a career out of writing my own versions of each of the routines in QuickPak and writing a short article about each for publication. I haven't done that, and won't, of course. There are routines to insert and delete elements from string and numeric arrays, sort arrays, create and manipulate bit arrays, parse strings in downright useful ways, check for file existence, find space available on a disk (and determine disk parameters), determine or set the current drive, run a batch file from Basic, read or write absolute disk sectors, manipulate moving bar menus, use a mouse, check or set keyboard status, find the day of the week for any date, determine whether a printer is ready, encrypt or decrypt a file, create, clear, or print to a window (even draw a box around it), save and restore screens (even for EGA), scan files, use 8-byte integers, speed up "slow" native functions, and hundreds more at least as useful.
If that's not enough, Crescent also includes a workable full-screen editor with word wrap, block and column moves, and the usual editing functions, together with a sample spreadsheet program. Of course, functions or routines to do the usual financial or statistical calculations (present value, annuity, internal rate of return, depreciation, standard deviation, maximum, minimum, and so forth) are included in the QuickPak package. Either the editor or spread-sheet programs (all or part) can be included in code you write for your own applications. How many times have you wanted to include a small editor or spreadsheet in one of your programs?
Finally, complete source code is available for everything. Be warned: There's more than one megabyte, so it's hardly an afternoon's browse. It's well commented and worth getting.
Buy QuickPak and enjoy! You won't go wrong. It's just not possible.
Copyright © 1989, Dr. Dobb's Journal