SQUASH
Tom Phillips - An Independent Computer Consultant
Solving problems with computers since 1972
As
a means of introduction, I am making available to the "Pick" community
a series of programmer tools. Just
click on the link, save the displayed page as a "text" item,
"import" the text file to your "Pick" system, rename,
compile, catalog, and run. Enjoy.
These
programs are supplied "as is". As I have provided them free of charge,
please feel free to use and distribute them as "freeware".
Thank you.
If you like any of the tools, then consider how much more you will like the work product that I’m paid to produce. Consider "Out-Sourcing", right here in the good old U.S.A.
![]()
The tools are currently setup for "Pick" flavor Universe (and D3), but flags are available for MaVerick and Native Universe. With feedback, options can/will be provided for other implementations.
![]()
Search tools
| QSEARCH | a simple search of any file for a list of arguments. |
| QDSEARCH | search all dictionaries in an account for a list of arguments. |
| QDSEARCHA | like “QDSEARCH”, but all arguments must be present. |
| QFIND | a search for one or more arguments, and create an MD "list" of items keys "found". |
| QFINDA | like "QFIND", but all arguments must be present for the item to be selected. |
| QFINDAL | like “QFINDA”, but all arguments must be present in a line for item to be selected. |
| QNFIND | a negative search. |
| QFORNOT | a search "for" a list of arguments, and "not" a second list. |
| QLIST | builds a list of the actual lines where the search argument was found. |
| QLISTA | like “QLIST”, but all arguments must be present in item for line to be selected. |
| QLISTAL | like “QLISTA”, but all arguments must be present in a line to be selected. |
| QFLIST | uses the line where the search argument was found as a key into a temporary file. |
| QFLISTA | like "QFLIST", but all arguments must be present in the item to be selected. |
| QFLISTAL | like “QFLISTA”, but all arguments must be present in a line for item to be selected. |
Compare tools
| QCOMPARE | compare two files, and create lists of items identical, different, and only present in one of the two files. |
| QCOMPAREL | like "QCOMPARE", but assumes a prior selection list. |
| QED | a line editor which emulates
the functions and format of the standard R83
and Ultimate editors with enhancements.
QED: line commands
QED: a features narrative
QED: pre-store command examples |
| QEDHELP | a subroutine used by QED. This subroutine handles “help”. |
| QEDLINE | a subroutine used by QED. This subroutine is a “line edit” utility. |
| QFOLD | a subroutine used by QED. This subroutine is a data variable “fold” utility. |
| QEDSWAP | a subroutine used by QED. This subroutine functions as CHANGE/SWAP. |
File tools
| QCOMPRESS | compress out all trailing "am", "vm", and "svm" marks. |
| QTRIM | a "trim" utility. |
| QFMAP | a utility to create a file attribute characteristics “map”. |
| QDELETE | a utility to delete items. |
Prime Numbers
| QPRIME | a TCL utility to determine a prime number. |
| QPRIMECALC | a subroutine used by QPRIME. ( much improved - Thanks to an example from Lucian in the group: COMP.DATABASES.PICK ) |
| QPRIMECALC.SLOW | older original QPRIMECALC |
Miscellaneous Tools and Programs
| QACCOUNT | copy into the current master dictionary all non-existing items from
another account.
This is a very fast way to setup a "user" account. ( I use this to populate a "system account" for user-coldstart.) |
| QFILES | builds a series of "Q" pointers. |
| QKEYS | builds a list of unique keys - this is useful for merging lists. |
| QSKEYS | builds a sorted list of unique keys. |
| QMERGE | creates “merge” list from two other “lists”.
can create a combined list, or a list of items on both, or a list of items not on both, or a list of items on 2nd not on 1st, or a list of items on 1st not on 2nd. |
| QHASH | build a unique list of keys in "hashed" order. |
| QIDATE | a data entry edit subroutine for dates - the “Mother of all date input edits”. |
| QNOF | builds a list of unique "not-on-file" keys. |
| QOF | builds a list of unique "on-file" keys. |
| QXLIST | remove an “active select list”. |
| QPROC | this one is only for experts. |
| QCALC | a command line (multi-cell) calculator. |
| QHANGMAN | The "hangman" game to satisfy an interview request. Read "spec" |
| QCALLMAP | builds an index file of BASIC program calls: calls whom & who calls. |
| QCLEAN | housecleaning: remove any MD/VOC items created by the other programs. |
| QRKN | a program to re-key the program names (remove “.txt”) & copy to another file. |
| QPROCREAD | a called subroutine to return the proc buffer as an attribute delimited item. |
| QPROCWRITE | a called subroutine to update the proc buffer via an attribute delimited item. |
| QPARSE | a called general purpose parsing subroutine (used by QPROCREAD). |
| QPROCPNBR | a proc utility to place the user port number in a proc buffer designated attribute. |
| QEXIT | the "exit"/"quit" subroutine used by the other tools. |
| QCMDLINE | a subroutine to parse the run time command line; used by many other tools. |
| QGETDELIM | a subroutine to prompt for the option 'B' delimiter; used by QLIST, QLISTA and QLISTAL |
| QNSUFFIX | a subroutine to prompt for the option 'F' name suffix; used by many other tools. |
Download pseudo file in T-DUMP format - executable zip file (Note: very old D3 build) tools_t-dump.exe
![]()
Miscellaneous Topics