Dec 082017
DBTools 1.23 dBASE enhancement kit. 25 functions to add popup windows and menus plus much more to Dbase dialects.
File DBT123S.ZIP from The Programmer’s Corner in
Category Dbase Source Code
DBTools 1.23 dBASE enhancement kit. 25 functions to add popup windows and menus plus much more to Dbase dialects.
File Name File Size Zip Size Zip Type
ACCOUNT.NDX 3072 719 deflated
ACCOUNTS.DBF 11340 1703 deflated
ACCOUNTS.NDX 3584 825 deflated
ACCTDE.PRG 6344 1647 deflated
ACCTMENU.PRG 777 395 deflated
CHARACCT.PRG 3051 1039 deflated
CLOSET.PRG 10085 2328 deflated
COMEATTR.DOC 7077 2970 deflated
DBT.IMG 4000 382 deflated
DBTATSAY.PRG 2349 936 deflated
DBTAUDIO.PRG 8612 1630 deflated
DBTBLINK.PRG 2127 758 deflated
DBTBOX.PRG 3988 1054 deflated
DBTDEMO.PRG 5978 1347 deflated
DBTDITHR.PRG 2832 894 deflated
DBTERASE.PRG 2406 906 deflated
DBTFADE.PRG 2825 909 deflated
DBTHMENU.PRG 5683 1655 deflated
DBTMAIN.PRG 8442 1656 deflated
DBTOOLS.BIN 31802 6415 deflated
DBTOOLS.DOC 82695 22592 deflated
DBTOTHER.PRG 7448 1911 deflated
DBTPAGE.PRG 4157 1072 deflated
DBTPALET.PRG 3404 1256 deflated
DBTPRDEF.PRG 5321 1595 deflated
DBTPRINT.PRG 2270 929 deflated
DBTPRMNU.PRG 1885 741 deflated
DBTPROC.PRG 15880 3926 deflated
DBTPRTST.PRG 3256 940 deflated
DBTPULDN.PRG 4339 1136 deflated
DBTQREF.DOC 10526 2727 deflated
DBTRECLR.PRG 1720 682 deflated
DBTREGIS.PRG 2421 813 deflated
DBTSAVE.PRG 3634 1154 deflated
DBTSCROL.PRG 2391 872 deflated
DBTSTART.PRG 301 185 deflated
DBTVMENU.PRG 5838 1971 deflated
DBTWIND.PRG 2863 891 deflated
EPSONFX.PRT 469 167 deflated
ESCCODES.DBF 8693 947 deflated
ESCCODES.NDX 4608 666 deflated
FLOPDEMO.BAT 72 57 deflated
GODEMO.BAT 146 77 deflated
HPLASER.PRT 679 198 deflated
IBMX24.PRT 480 171 deflated
LASTEST.PRG 677 214 deflated
LOADDBT.PRG 815 401 deflated
OKI192.PRT 457 155 deflated
PAINT.COM 3076 2396 deflated
PAINT.DOC 3607 1625 deflated
PAN1091I.PRT 424 171 deflated
PC.IMG 4000 230 deflated
PD.BAT 148 89 deflated
PRNDEF.DBF 406 216 deflated
PRNDEF.FRM 1990 855 deflated
PRNDEF.NDX 1025 182 deflated
PRNDEF.PRG 5326 1589 deflated
PROCDEMO.PRG 6571 2046 deflated
PROCFILE.PRG 14623 4006 deflated
PRTMENU.PRG 1383 593 deflated
PRTTEST.PRG 3738 965 deflated
SETACCT.PRG 2976 967 deflated
WHATSNEW.DOC 3472 1570 deflated
WHEEL.IMG 4000 331 deflated

Download File DBT123S.ZIP Here

Contents of the COMEATTR.DOC file



I am presently working on a dBTools 2.0 "PRO" version, and making good
progress. Current users of earlier versions of dBTools will be notified
by mail and offered version 2.0 PRO at a reduced upgrade price.

Version 2.0 will have a total of 40 functions (see list below). Some
processes require more than one function number (such as PULLDOWN), but
many functions have subfunctions and so perform multiple operations.
Many new functions have been added, and enhancements made to existing
functions. Version 2.0 will have increased capacity, and will be easier
to work with.

MORE USER FRIENDLY: (User friendlier?)

Instead of the cryptic function number, the names of the functions can
be used for increased readability. For example,
CALL DBTOOLS WITH "ATSAY,5,15,11/1,0,Hello, world!"
Function numbers can still be used if desired (they execute slightly

Color pair specification is of the form FG/BG, where either color
digits 0-15, or dBASE style color specifications (ie, +w/n and so on),
can be used interchangeably. Digits execute slightly faster.

Syntax help may be displayed by calling dBTools with the function name
or number, and a ?. For example, CALL DBTOOLS WITH "ATSAY,?" will
display the syntax for the atsay function.

Error diagnostics also display the syntax along with the offending
parameter string.


Store up to 4 screen images instead of 3.
Increased memory for windows, up to 30 open at a time.


The WINDOW function supports a Title.

Box and windows may be "exploding".

The BLAT and TWIDDLE sound effects have been combined into one function
with multiple options/subfunctions, and ALARM, CHIRP, BLIP, and CLICK
sound effects added (total of 5).

Self contained pulldown menu systems which don't require all the
external loops that version 1.3 does to implement them, and operate at
the speed of assembly language. Actually, if you're familiar with
FoxPro's menuing systems, PULLDOWN is similar.

Menu functions can have a message associated with each of the menu
items. You can specify which row the message will appear, its colors,
and justification (centered, left, right).

Menus can have a hotkey other than the first letter, which will appear
highlighted from the rest of the menu item text. Inactive menu selections
are supported, which will appear in a different color in the menu, but
which cannot be selected. This would give the ability to enable only
certain menu selections based on user security level.

All menus support mouse control.

Monochrome monitors supported.

You can optionally specify the shape of the cursor in the cursor function.

The SAVESCR function allows you to save the current screen to a file as
well as a memory slot.


Encrypt - encrypt and decrypt a string of up to 128 characters. Good
for passwords or sensitive data.

Color Schemes - Define up to 12 sets of 10 color pairs, which can be
used in place of FG/BG specifications in a number of dBTools functions.
A color scheme consists of 10 color pairs which define colors of
various items:
1) Standard @SAY color
2) GET highlight color
3) Window frame
4) "Wallpaper" background
5) Menu active item (unselected)
6) Menu selected item (highlighted)
7) Menu inactive item
8) Menu hotkey highlight
9) Message color
10) Title color

Dialog Buttons - a different kind of menu. Similar to a horizontal
moving bar menu, except that the "buttons" can be placed in any
position on screen. Tab and Shift Tab cycles through each of the
choices and Enter selects, or you can click on a button with the mouse.

Move and Copy Window - windows can be moved from one place on screen to
another, or duplicated in another place.

Stuff Keyboard - characters can be stuffed into the keyboard buffer as
if you typed them.

Flush keyboard buffer.

Define trappable hotkeys in menu functions, pause, and GETKEY.

Get directory information; get files matching a wildcard skeleton and
extract filename, filesize, and filedate info.

Scrollable picklists, where you may choose one item to operate on
immediately, or a "checkmark" mode where multiple items may be checked
for later processing.

Some more code examples, such as some "canned" utilities (Backup,
reindex files, user definable Browse, file Pack/Purge, printer driver)
which can be easily customized and included in your applications.


1. ATSAY alternative to @ SAY
2. EFFECTS sound effects
3. BOX framed, shadowed, exploding boxes
4. CURSOR control cursor shape and attributes
5. ERASE erase an area of the screen
6. DELAY programmable delays
7. DITHER create over 100 background colors
8. FADE slideshow like screen fades
9. HMENU horizontal moving bar menu
10. PAUSE a more elegant WAIT
11. PRINTER printer attribute control
12. READSCR read a screen image from a file
13. RECOLOR recolor an area of the screen
14. RESTSCR restore a saved screen image from memory
15. SAVESCR save current screen to memory or a file
16. SCROLL scroll an area of the screen
17. PLAY play musical tones
18. TWIDDLE a three note sound effect (also included in EFFECTS)
19. UNPOP remove a window and restore underlying screen
20. VMENU vertical moving bar menu
21. WINDOW popup window
22. PAGE select active video page
23. NOBLINK select blinking or high intensity background attributes
24. PALETTE set EGA/VGA color palette
25. GETKEY get a ketstroke and return unambiguous codes
26. DIALOG dialog buttons
27. MOUSE mouse control
28. ENCRYPT encrypt/decrypt strings
29. SCHEME color schemes
30. STUFF stuff keyboard buffer
31. COPYWIND copy a window
32. MOVEWWIND move a window
33. PULLDOWN activate pulldown menu system
34. HPROMPT define horizontal menu pad
35. VDEF define popup vertical menu
36. VPROMPT define vertical menu bar
37. KEYDEF define trappable keystrokes
38. DUPESCR duplicate an area of the screen
39. GETDIR get file information
40. PICKLIST scrollable picklist

 December 8, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>