Public (software) Library Programming Library Descriptions and Compilation Copyright 1994 Nelson Ford ALL RIGHTS RESERVED. Duplication, reprinting and distribution of these descriptions is restricted. See LICENSE.DOC in the PSL_NEWS directory for complete information. Also see TOOLS and GEN_VID for tools and routines for multiple languages, including Pascal. =====Pascal, part 4 CONTENTS: -----TOOLS: programming utilities -----TUTORS: tutorials & info -----TV_PAS: stuff for TurboVision -----VIDEO: text screen control, windowing, video utilities, etc. ======================================== -----TOOLS: programming utilities [BINOBJ] BinObj (Larsen, Per Bent; $0) allows TP programs to emit .OBJ-files containing data in the same format as the BINOBJ.EXE utility does. The unit works, but it could need better I/O-error checking and handling. [DLLDLG] DllDialg (TP-Win; Dan Thomas; $0) demonstrates how to run a dialog and get results from a DLL. [EXAMINE] Examine 2.0 (Prescott, Richard W.; $18) is a utility program which can be used to display the assembly level implementation for each line of any source files compiled with Turbo Pascal 4.0 or 5.0. [EXECHK] ExeChk shows how to embed your original application EXE file with the user's name, address, serial number, etc., in order to discourage copying of your software. This method even works with files compressed using LZEXE. [FULLDB] FullDB 1.3 (Murdoch, Duncan J.; $20) reads a TPU file and attempts to add line number information from all externally linked OBJ files (written in other languages). This lets you single-step through external code while in the Debugger. Works with TP 5.5, TP 6.0, or TPW 1.0. [HDEBUG] Heap Debugger 1.0 (Webb, Brian D.; $0) is a set of routines to intercept calls to TP6's heap routines New, Dispose, GetMem, and FreeMem including extended syntax for New and Dispose. It identifies the unit and line number of the error and stops debuggers on that line. [INSID_TP] Inside Turbo Pascal 5.5 Units (William Peavy; $0) is a utility to let you unassemble Unit code, document programs, access interface symbols for use in cross-referencers (etc), and more. Full source code and complete documentation of Unit structure are included. [IOLOG] IOLog 1.0 (Kokkonen, Kim; $0) is a TSR that logs all DOS disk I/O operations to a file for later study. Pascal source code is included. (res:19k) [READOBJ] Joan Riff's ReadObj 1.9 (Computerwise Consulting Services; $10) dumps OBJ and LIB files in readable format. [LASTLOOK] LastLook 1.02 (D.J. Murdoch, reg. fee: $0-$20) scans EXE files and reports if the file was compiled in Turbo/Borland Pascal, if it's a regular DOS executable, if it includes external debugging information with the EXE, if it contains TurboVision-style resource files and more. [MANGLER] Mangler 1.30 renders Turbo Pascal source code unreadable while maintaining it's ability to compile without any lost functionality. (Berend de Boer, reg. fee: $0) [MAP2USE] Map2Uses (Welsh, Jim; $0) reads a .MAP file and extracts a program's USES list from it. Source code is included. [MODXREF] ModXRef 1.0 (Newman, Norman; $0) produces a cross-reference listing for a Pascal program which is spread over several modules. [OBINDED] Obinded (Risi, Vince; $0) is the binary editor of the Borland interface for TP6. [OBJTOOL] OBJTool 2.3 (Hanlin, Thomas G. III; $14) is a tool for manipulating OBJ files. It allows you to search OBJ files, view file stats, delete default libraries and languages, check for validity, repair checksum errors, and rename publics, externals, and default libraries. [OVRACT] OvrAct (Schuster, Ron; $0) is a unit that captures data about the activities of the overlay manager in a Turbo Pascal 5.x program and saves it in a disk file. It includes programs to produce reports from this data file. [OVRLAY] OvrLay (Schuster, Ron; $0) describes some of the low-level details of the Turbo Pascal Overlay Manager. [OVROBJ] OvrObj 1.0 (Schuster, Ron; $0) is a small inline macro that returns a pointer to the OBJitized data, whether or not the unit is overlaid. [OVRSUB] OvrSub 1.0 (Schuster, Ron; $0) lets you use the OVR file from one version of a program with the EXE file from a different version of the same program. It also lets you write a program that uses several different overlay files, each containing a different version of the same routines, and switch between them dynamically. All source code included. [PASCALW] Pascal-W 1.0 (Wirch, Rick and Davis, Chris; $0) is a Pascal editor, compiler, interpreter for Windows 3.0. It has a help file, but knowledge of Pascal is required. It does not have all the features of standard Pascal, but has additional features that take advantage of the Windows environment. [PASUSER] PASUsers 1.0 (Dawson, Terry; $0) will help clean up and maintain your Turbo Pascal source directory. It provides a sorted list of all include files and units that are used by other Pascal source modules. After each file or unit, the source modules that use it are listed. [PASUTILS] PasUtils (Daniel N. Leeks, reg. fee: $15) contains two Pascal utilities: LISTER lists the source lines of pascal programs. CROSSREF lists each identifier in a pascal program and the lines on which they appear. [PFSTAT] PFstat (Larson, Per; $0) examines a TP5 Unit and generates statistics for it. [PRTYPAS] PrettyPascal 1.0 (Invariant Software; $30) makes Pascal program files more readable. This is done by spacing operators, procedure calls, and control guards, and by reformatting the code to a specified form and indentation. [PXL] PXL (Wisan, Richard; $0) is a Pascal source code lister with optional cross-reference, adjustable header, begin-end counts and other features. Output can be redirected. PXL supports many printers, including lasers, and can work with wide-carriage printers. PXL allows for alternating left and right headers for printing on both sides of the page. The program will also print plain text files. TP 5.5's four new reserved words are also supported. Source code is included. [QPF] Quick Pascal Word Fixup 1.0 (MAT Enterprises; $0) will fixup Pascal words into a standard format. [SETJMPS] SetJmps (Stephens; David; $0) allows you to have non-local GOTO's in your TP 6.0 code so that you can jump directly out of deeply nested procedures, etc. [SNAPPD21] StaNdArd Printer-Pascal D2.1 adjusts margins and capitalization to give a standard look to your source code. It makes imported code readable, and includes an optional table lookup for control over the looks of names such as "cmCancel" and "mfYesButton". (Neptune Systems, reg. fee: $27) [STEALTH] Stealth Bomber 2.2 (Dean, Kevin; $0) (formerly CRCSET) is an anti-virus program and linkable code that uses a 32-bit CRC to verify the integrity of the running program. [STHING] SThing (TurboPower Software; $0) includes a Turbo Pascal unit and demonstration programs for accessing the Covox Speech Thing. Source and sample files are included. [T_REF] T-Ref (Synergy Software Solutions; $25-$45) is a source code lister and cross-reference lister. With it, you can specify a line-by-line print-out of the lexical levels and the block levels, the active procedure or function of that line, and the line numbers along with the listing. The cross-reference utility will give a complete cross reference of all identifiers declared within a program, or a partial listing (on requested object types). The listing gives each identifier's name, its type, the code line declared on, all lines referencing the names, and the scope (the procedure or function name and level in which the identifier was declared within). Output can go to the printer or a file. [TDINFO] TDInfo 0.7 (Andy McFarland, reg. fee: $0) reports the Turbo Debug information appended to a Turbo Pascal generated EXE file, including unit dependencies, object hierarchy, data segment usage, and the declaration part of procedures. [TP_ASM] TP&Asm 2.21 (Prescott, Richard W.; $42) is an integrated assembler for TP 4 - 5.5. It operates during the compile step to provide support for the four TP&Asm keywords. [TP_WCH] Watch Manager (Prescott, Richard W.; $8) consists of three procedures and two functions which may be used to automatically set and clear watch expressions under program control as you trace your program in the Integrated Development Environment. [TPU2ASM] TPu2Asm (Larsen, Per Bent; $0) is a symbolic disassembler for Turbo Pascal Units. Works with TP 5.5. [TPWPRNT] TPW Printer Unit (Galivan, Bob; $0) is a unit that will display a device mode dialog box and print a text file. [TRACERP] Trace 1.0 (Prescott, Richard W.; $0) provides a powerful "trap on condition" debugging capability for use with Turbo Pascal 4.0 and 5.0. [TDEBUG] Turbo Debug is a TP source code debugger. [UNIT] Unit (BTS Software; $0) manages the procedure/function declarations in the interface section of a TP unit by copying specified procedure/function headers from the implementation section into the interface section. [UNITXRF] UnitXref (Thomas, Dan; $0) will find all units used by a program. [ZIPSORC] ZipSorce (Transversal Design; $30) will automatically Zip all sub-files or other related files specified in a TP source file. -----TUTORS: tutorials & info [DATASJ] DataStrucJones (Jones, Jeremy; $35) drills you on data structures and algorithms. [PAS_TUT] Paperless Pascal Tutorial (Advantage International; $0) is a Pascal tutorial book-on-disk. The disk contains the Advantage Paperless Reader. This is a thorough guide to Pascal. [TCHLP3] Tchlp3 (Van Den Berghe, Vincent; $0) converts Borland's THELP files into Microsoft's QuickHelp format. [TPREF] Turbo Pascal Reference (Mitchell, Ed; $0) is a 400+ page reference guide to Turbo Pascal. It provides information on TP 6.0 and 7.0, Borland Pascal, and Turbo Vision. Information is provided in ASCII format and illustrations are provided in PCX format. [TUTPAS] Turbo Pascal Tutor 2.6 (Dodrill, Gordon J.; $15) is a series of 16 lessons teaching Turbo Pascal programming to beginners. Careful attention is given to a full description of Object Oriented Programming and how to use it. [VIS_PAS] Visible Pascal is a programming language written especially for people learning to program. The "visible" part of Visible Pascal is that it shows you the operation of your program as it runs. It includes an easy-to-use editor. -----TV_PAS: stuff for TurboVision [APP28] App28 1.0 (Ed Jordan, reg. fee: $0) is a Turbo Pascal unit that enables TurboVision applications to be toggled in and out of 28-line mode. Source code is included. [COMBOX] ComboBox Notes (Greer, Keith; $0) is a unit that implements a pull down selection list in Turbo Vision. It limited number of strings that have been previously typed in. Source and sample program are included. [COMPAT] Compat (Beck, Randolph; $0) lets you execute old TP functions without TV modifications. [COMPROG] ComProg is an example of a TVision terminal program. [DATAVAL] Data Validation Techniques (Thorpe, Danny; $0) is an article about data validation techniques and pitfalls in Turbo Vision. [DATEVAL] DateVal 1.0 is a validator object for use with TurboVision. It allows flexible entry of dates in different formats. (Verosys Technical Automation, reg. fee: $0) [ANIDIAL] Dialog Animator 1.0 is Pascal code which allows TurboVision programmers to put moving views within Dialog Boxes. The animation can be toggled by pressing a hot key. (Tim Schempp, reg. fee: $0) [EVENTQ] Eventq (Schafer, Steve; $0) contains a unit which implements an event queue for Turbo Vision applications. This unit would enable you to easily make a script-driven TV app. Source code is included. [KEYCTRL] KeyCtrl 1.0 is Pascal source code which demonstrates how to jump between fields in TurboVision by using the cursor keys, and how to control a pushbutton by modifying the state of the radiobutton. (Paul Backus, reg. fee: $0) [MAG] Mag 2.0 is TP6 code for a working magazine database program for the benefit of programmers still trying to figure out Turbo Vision. (Norman Newman, reg. fee: $25) [MENFRAM] MenFrame (Horstmeier, Jens; $0) is a unit to implement a frame with a complete system menu. [PICKLST] PickList (Watson, Blake; $?) contains examples of multi-selection picklists for Turbo Vision. [PRG_BAR] Progress Bar is a small "thermometer" progress bar class. [PGR122] PtGen - Real Mode 1.22a is a TurboVision 2.0 screen generator. It features menu bar creating, status line, dialog box creating and more. This is the real mode version. (Berend de Boer, reg. fee: $41) [PGX122] PtGen - Protected Mode 1.22a is a TurboVision 2.0 screen generator. It features menu bar creating, status line, dialog box creating and more. This is the protected mode version. (Berend de Boer, reg. fee: $41) [RADIOTV] Radio (Borland International; $0) shows how to have multiple radio buttons in Turbo Vision. [SAVE_TV] Save (Borland International; $0) demonstrates a method of screen saving via BGI routines. [SCRSAV] SCRSav (Boether, Stefan; $0) is TV source for a screen saver. [SHAZAM] Shazam (Stein, Johnathan J.; $39) generates complete TurboVision applications. It passively creates Params, cm, hc, and kb values, help text and dummy procedures. It handles multi-submenus, multi-statusLines and hints. It is powerful enough to model TP 6 IDE, Quattro and Paradox menu structures. Over 40 example definitions are included. [TVBEGIN] TurboVision Begin 1.5 (Romano, Bill; $0) produces a TurboVision skeleton program which can serve as the starting point for your own applications. [TCYBER] Turbo Vision Cybertools 1.0 is a pair of tools for use with TurboVision. CyberFont provides fonts, graphics, PCX images, sprites, bit map animation and DAC palettes. CyberBase for Paradox Engine 3.0 includes a powerful generic browser window, and memo editor. Requires VGA (Steve Goldsmith, reg. fee: $28) [TVDMX] tvDMX 1.5 (Beck, Randolph; $18) is a Turbo Vision unit for multi-record data entry in a row/column format. [TVGRAPH] TVGraphic 1.5 is a port of Borland's text-based Turbo Vision to DOS graphics mode with extensions, enhancements and a pleasing graphic look. Units are provided for Pascal 6.0 and 7.0. (Richard P Andresen, reg. fee: $35) [TVMOUSE] TVMouse contains mouse routines for Turbo Vision. [TVCC] Turbo Vision Custom Controls 1.1 (Castle Computer Services; $0) is a unit for TP/BP7.0 and TV2.0 to emulate the stell-grey styles of Borland's Window's Custom Controls. [TVCOPY] TVCopy (Midwinter, Stewart; $0) is TP6 source code to demonstrate how to pop out of a dialog box, open a list box containing data from a file, and copy the desired data into several input lines in the input dialog box. [TVMACRO] Turbo Vision Macros 1.0 (Cybersoft & Koepke, Lawrence V.; $25) is a complete TV event macro handler that records and plays back keyboard and mouse events. Macros can record the playback of other macros. It includes units that create generic PickList, Stack and Queue objects. [TVMENU] TVMenu (Seddon, Bill; $0) shows how to provide a TMenuBar object with checkable menu options. [TVEXIT] TVexit (Borland International; $0) shows how to exit TV without clearing the user's screen. [TVICON] TV Icons (Babler, David; $0) lets you add icons to your TV applications. [TVPAL] TVPal (Schafer, Steve; $?) is a tutorial on Turbo Vision palettes. [TVTOYS] TVToys 1.5 is a collection of TP7 routines. Features: easy interfacing and customizing, custom fonts, palette code, serial stream, full source and four demo programs. (Peter Brandstrom, reg. fee: $0-20) [TVTOOL] TV Tool Box 2.0 (Hansen, Richard; $43) is a collection of extensions to Pascal Turbo Vision. It includes a WYSIWYG interactive menu designer, data entry objects, scrolling dialog boxes, ASCII/HEX edit window, multi-view scroll bars, message dialogs, print, percent, progress dialogs, and more. The data entry objects include formatted entry for integer and floating point numbers, edit masks with literals, post-edit routines, required fields, and field locking. [TXT132] Txt132 (Baldwin, Dave; $0) shows how to run TV in 132-column text mode. [ZEUS2000] Zeus 2000 05.93 is the German version of an integrated environment for creating Turbo-Vision helpfiles. It can import, export, and convert existing helptexts and helpfiles into other formats. (KAP Holger Lembke, reg. fee: $?) -----VIDEO: text screen control, windowing, video utilities, etc. [ANSIVIE] ANSIView (Della, Marcos R.; $0) provides you with the features from the CRT unit with the earlier versions of Turbo Pascal while still retaining the features of the new TVision environment. [BASEAPP] Base Application 1.0 (Leon, John C.; $10) is a set of TV routines: hi-res video mode toggle, proper window count handling, working help contexts for menubar and statusline, provision for app-specific initialization code, tileable/cascadable windows and more. Source is included. [BOX] BOX (Nescatunga Software; $20) is a screen designer for Pascal programmers. Features include the ability to save screens in a small "packed" format, a pop-up ASCII table, file directory functions, and example programs which show how to create context-sensitive help screens and moving bar menus. [CRTP_DG] CrtPlus 1.0 (Modern Solutions; $28) is a set of assembler routines to detect the video adapter type, to create an 80x43 or 80x50 video mode (for EGA/VGA), to disable/enable text blinking, and to fill, change color of, and copy a block of video. [CRTPAT] CrtPat is a patch for the CRT unit of TP5.5. It takes care of unpredictable DELAY times on computers faster than 30MHz. [CRTSEG] CRTSeg (Donnelly, Tom; $0) allows the video segment address in a CRT unit to be changed. [CURDLE] Curdle (Majkrzak, John M.; $0) will take care of watching the screen boundaries when your Turbo Pascal program lets a user move about the screen directly as might be done in a screen painting routine or even some data entry programs. [DGSAY] DGSay 8907.01 (Gerrold, David; $25) will write formatted, justified and colored text to screen by replacing Write and WriteLN with Say and SayLN. A demo and source code are included. [FASTSCR] FastScr 1.0 (Addleman, Mark; $0) provides simple and fast video control through the use of objects. [KPASCAL] KPascal (Contemporary Computer Services; $0) is a video output unit to replace Write & WriteLn with some string formating and conversion functions. This program includes a Colors, and Keyboard unit for standardizing text attributes between programs, and Keyboard offers an extremely enhanced replacement to ReadKey with it's own buffer. [LVI] LVI Programming Toolkit (Tobin Fricke, reg. fee: $1) is a Pascal library for using LVI (Last Video Interface) emulation. It is similar to ANSI, however, it uses advanced compression and is binary. It is over twice as fast as ANSI. [MAKE_IO] Make-IO2 (Alger, Richard N.; $25) lets you create I/O screens with a text editor, then it converts them to TP source code. Requires Technojocks Turbo Toolkit (see TTT.ZIP). Source code included. [NOBLINK] NoBlink 1.0 (Tobin Fricke, reg. fee: $0) is source for a Pascal program which disables blinking forground colors and replaces them with high-intensity background colors. [PAS1] PAS1 (Shoval, Ben; $0) is heavily documented code for an ANSI screen drawing program. [QWIK71A] Qwik 7.1a (Eagle Performance Software; $25) is a high performance screen writing utility for TP4 programmers. Features include vertical writing routines, detection of the i486 and Pentium CPU's, and more. [SCNDSIGN] Scndsign (Enochs, Iddo L.; $25) allows programmers to design screens and then generates the code in Turbo Pascal to be added to your programs. It also permits you to specify variables for data entry as part of your screen design. [SCRGEN] ScrGen is a screen editor that generates Turbo Pascal source code for screen displays to be added to your programs. The program features an attribute selection utility, a box draw utility and a block move utility. Colors can be defined for use on color monitors, and monochrome attributes, such as normal, underlined and reverse video can be generated for use on monochrome monitors. Output can be generated to support either or both of these video modes. [SVGABG] SVGABG 1.0 (Jordan Hargrave, reg. fee: $20/each) is a set of video drivers for C or Pascal. They support a wide range of VGA cards, and should work on all major brands. [TTT] TechnoJock's Turbo Toolkit (TechnoJock Software ASP; $54) is a collection of procedures and functions for Turbo Pascal programmers: a collection of ultra-fast screen writing procedures, a collection of windowing and screen saving procedures, a "very nice (better than Blaise) menu routine", a collection of screen input routines, and a large assortment of miscellaneous procedures and functions, including pull-down menus, mouse support, form input, directory listings, string handling. Full source code is included. Included in the documentation is a list of other shareware and commercial programs which Bob has found to be useful for TP programming. [TEGL_TP] TEGL Windows Toolkit II for TP 5.5 (TEGL Systems Corporation; $50) is a set of GUI routines for TP 5.5. For more information, see the writeup of the same toolkit for Turbo C. [TEXTIO] TextIO is a TP5 unit that allows for the following: large text buffers for speedier handling when needed, complete seek function for text files, write formatted output to a string variable, read contents of a string variable as formatted input. [TP4WIO] TP4WIO (Rohr, Gerald; $0) is a collection of procedures and functions which assist in screen input/output. Many other uses in general programming are available as well. [TP5WIO] TP5WIO (Rohr, Gerry; $0) is a collection of procedures and functions which assist in screen input/output. [TWINS] Twins 1.10 (Corll, Brian; $15-$25) is a toolbox that allows you to create and manipulate multiple windows on visible and virtual screens using the object-oriented techniques available in Turbo Pascal 5.5. Included are assembler routines to facilitate direct writes to video memory and the changing of text attributes. Also, a unit has been provided to create simple light-bar menus and a color selection menu, and a unit for detection of keyboard activity. [USERLIB] UserLib is a Turbo Pascal 5.5 unit containing several useful functions for screen I/O, menus, etc. [WINDEX] Windex (Roncalio, John; $0) contains windowing code for TP5. You can mix and match "disk" and "ram" as locations for the saved window image and the CloseWindow procedure will find it when needed. Tested on EGA, CGA and mono, but may cause snow on some CGA's. [WNDW70] WNDW 7.0c (Eagle Performance Software ASP; $25) is a set of high performance window utilities for Turbo Pascal 5.0 which give you full window control and management in all text modes. Up to 254 windows can be on screen at once. Only 13k of code is added to your program even if all 69 utilities are used. Fifteen different border styles with shadows are available. All windows can be randomly accessed. Adjustable-rate moving, resizing and scrolling are supported. [TOP] Turbo Overdrive Package (Nescatunga Software; $20) is a collection of over 40 procedures and functions. Some of the routines allow you to save and restore screens, draw boxes with the arrow keys, and generate pop-up box menus, Lotus-style menus, and pull-down menus. TOP contains an on-screen pop-up calculator and a mathematical expression parser. [TSCRIPT] Turbo Script (Menningen, Kevin; $?) allows direct video memory accessing for lightening speed screen operations.