home *** CD-ROM | disk | FTP | other *** search
-
-
-
- LiSST
- ---------
-
- version 2.0 (c) 1989 by Sam Bellotto Jr.
-
- "LiSST" IS A MENU-DRIVEN utility that adeptly compiles,
- maintains and organizes a variety of everyday listings. In
- addition, the program offers:
-
- * a choice of output to either console, printer or
- disk
- * sorting that is "The," "An" and "A" exclusive
- * sorting on any field
- * comprehensive record editing, deleting and undeleting.
- * multiple and individual search capability
- * compatibility with most word processors
-
- Only 33k, "LiSST" is the solution to a wide range of record-
- keeping problems for which more powerful database management
- systems would be overkill. It can be placed on a single disk,
- along with dozens of separate listings, and randomly access any
- or all of them.
-
- Invoking "LiSST:" You run it like any EXE file, with the
- added advantage of being able to call up any listing directly
- from the command line. The syntax d:LiSST d:filename is
- optional. If employed, "LiSST" displays the Main Menu with
- the named listing loaded. Otherwise, you will initially be
- prompted for "Name of list?" Enter the name of any existing
- list or, enter the name of a file you wish to create. Use the
- standard DOS convention d:filename. "LiSST" doesn't
- require a file extension. All of its lists are given an
- extension of LST, and those are the only files that "LiSST"
- recognizes. In fact, if you inadvertently enter, for example,
- MYFILE.TXT or B:MEMBERS.DBF at "LiSST's" prompt (or in the
- command line), the program disregards the incorrect extension
- and either opens or creates MYFILE.LST or B:MEMBERS.LST. Note:
- if "LiSST" is unable to locate a list, a new one is created.
-
- "LiSST" utilizes the top line of the computer screen as its
- Status Line. Information always available on this line includes
- the particular menu selection in current use, the name of the
- list being accessed and, depending upon which program mode is
- functioning, record count, printer/console/disk output
- assignment, or operational prompts.
-
- This is what the screen looks like at the Main Menu:
-
- LiSST Relational Listmaker [B:MYFILMS.LST] #0000 vers 2.0
-
- Get List F1-Delete F6-Copy List
- Input F2-Undelete F7-Rename List
- Edit F3-Change F8-Erase List
- Sort F4-Labels F9-List Lists
- Output F5-ASCII F10-Quit
-
- Select?
-
- Menu selections on the left are considered ordinary functions.
- Choose them by entering the initial letter (upper or lower
- case). Menu selections in the center are special features and
- can be called by striking the function key shown. (In
- other words, entering F4 runs the "Labels" option. Menu
- selections on the right are DOS functions, also initiated with
- function keys.
-
- The question mark is "LiSST's" prompt. Enter an initial
- letter or function key to select an option. To Get a List (either
- another existing list or create a new one), enter "G" or "L" at
- the prompt. Similarly, to Quit, enter F10.
-
- CREATE: To create a new listing, simply enter a name for the
- new file in the command line or in response to the "Name of
- list?" startup prompt. Again, no extension is required. But if
- you provide one that is not LST, the program will change it.
- "LiSST" displays "New list ...." to inform you that it is
- creating a list and displays the new filename in the Status
- Line along with an indication that you are in CREATE mode.
-
- Now select the parameters for the list, the structure of which
- will be written to a disk file. Enter "Field 1 heading?,"
- "Field 1 length?," "Field 2 heading?" ... and so on, until you
- have established all the fields for a typical record, or a
- maximum 79 character line, whichever comes first. "LiSST's"
- largest record length is 79 bytes, which should be more than
- adequate for ordinary listings. Individual fields within a
- record can vary, so long as the aggregate length of all fields
- does not exceed 79.
-
- "LiSST" helps keep track of the number of characters used by
- echoing the tally, field after field, to the Status Line. The
- program "builds-in" one character of space to separate each
- field column: you needn't do this. Furthermore, the program
- won't accept a field length if it brings the total above the 79
- character limit. (Note: field headings should be no longer than
- their respective field lengths, otherwise "LiSST" truncates
- any field heading to fit the established size for its field.)
- The maximum number of fields per record has been fixed at 9. It
- is not recommended that this limitation be exceeded. Creating
- lists with more than 9 fields will likely cause the program to
- crash.
-
- When the character total reaches 78 or 79 "LiSST" signals
- this with "max len!" in the Status Line and halts CREATE.
- Otherwise, when all field headings and sizes have been entered,
- you can halt CREATE simply by hitting <enter> at the next
- "field heading" prompt. ("LiSST" halts CREATE at 78 as well
- as 79 chars because of the extra space byte the program appends
- to each field. This makes the minimum field size, in actuality,
- two characters long.)
-
- How to Abort from CREATE: Should an unintentional "Name of
- list?" response take you into CREATE mode, or you decide after
- the fact that you really don't want to create a new list,
- <enter> at the VERY FIRST Field heading? prompt will return you to
- "Name of list?" without opening a new listing. A second
- <enter> will boot out of "LiSST" altogether.
-
- After establishing the field heads and sizes for a new listing,
- and hitting <enter> to quit (or reaching the maximum character
- length), "LiSST" inquires "Input data now?" Answer 'Y' and
- "LiSST" switches to INPUT mode. Typing <enter> or any other key
- signifies "no" and the program returns to the Main Menu. (Your
- newly created file remains quite safe on disk, only empty.)
-
- "LiSST" does not provide a CREATE mode option in the Main
- Menu per se. The function is accomplished as previously
- explained: (1) selecting Get List from the menu and, at the
- "Name of list?" prompt, entering the name of the list to be
- created; or (2) placing the name of the list to be created in
- the d:LiSST command line.
-
- INPUT: Entering data is simple with "LiSST." Select "I" or
- "i" from the Main Menu. For each new record, all of the field
- headings are individually prompted on-screen. Again, the
- program rejects any input larger than the established field
- length. After data has been entered for each field in a single
- record, the program prompts "OK?" in the Status Line. A
- response of any key other than "N" or "n" writes the completed
- record to the file, updates the record count, and proceeds to
- the next record. A response of "N" or "n" clears the data from
- the screen, does not write the record to the file, and permits
- you to re-enter data for that record. [This procedure can be
- undertaken ad infinitum until you are satisfied with the
- particular record.]
-
- To exit INPUT, hit <enter> at any field
- heading prompt. The incompleted record won't be included in the
- listing.
-
- Note that while inputting data, "LiSST" keeps updating the
- number of records in the list. The count appears in the upper
- right side of the Status Line. "LiSST" first tallies the
- number of records already in the list (whether or not they have
- been deleted) to the Status Line before it accepts additional
- entries.
-
- MAKING EMPTY FIELDS: Oftentimes is is desirable to
- intentionally leave a field or a field heading blank. You may
- want to do this in CREATE mode, or in INPUT mode when you don't
- have any information available for a specific field. But
- entering <enter> in CREATE mode forces termination of the setup
- process. Similarly, an <enter> response in INPUT halts data entry.
-
- To get around this, many "LiSST" owners have been using
- symbols such as "--" or "n/a" as place holders. But this is not
- necessary! Merely enter one or two spaces with the space bar,
- followed by <enter>, to produce completely empty fields.
-
- NOTE: If this technique is used in CREATE mode to make a blank
- field heading, during INPUT mode the field will be prompted as
- " : ". Also be aware that the standard ASCII sort order places
- the "space" (20 hex) first.
-
- EDIT: Complete editing of records either singly or throughout
- an entire list is possible with "LiSST." In EDIT mode, the
- program asks "Search for?" Enter a unique character string. The
- program responds "Searching ... " while it looks for a match to
- the string. Systematically, you will be prompted with each
- field by heading and current entry in the located record and
- asked "Change?" To change, type in a new entry. Otherwise,
- <enter> is interpreted as no change; "LiSST" verifies this by
- echoing the unchanged entry. Following display of the last
- field in each record located, you will be asked to "Delete?" If
- you want the entire record removed from the list, a "Y" answer
- (plus a carriage return to make accidental erasures more
- difficult) deletes that record. Hitting <enter> (or
- any key other than "Y") only implies "no" and the record, with
- any alterations, if made, is returned to the list. The program
- displays "Still searching ..." while it looks for other
- occurrences of the search string. If no other matches are
- found, the program informs you and loops to "Search for?"
- Continue editing or exit EDIT mode with <enter>.
-
- The EDIT feature also makes it a snap to do multiple record
- corrections. At the "Search for?" prompt, enter a character
- string common to all the records you wish to change and
- "LiSST" will present each record right down the line. In
- fact, to edit every record in the list, enter <space><enter> at the
- "Search for?" prompt. (This latter technique could take a very
- long time with a large listing, however.)
-
- If no records contain the search string entered, "LiSST"
- responds with "No records contain [search string]" and pauses
- briefly before returning to the Main Menu.
-
- SORT: "LiSST's" sort routine is one of the most powerful
- implementations of the program. A listing may be sorted on any
- field. Upon invoking the SORT mode from the Main Menu, you are
- first prompted for "Sorted file name? " Input d:filename. The
- LST extension is unnecessary. You are then asked "Sort on?"
- Reply with the appropriate field heading. You do not have to
- enter the entire field heading -- enough of the first few
- letters to make a unique character string will suffice.
- However, they must be the first few letters or the sort may
- have unexpected results! (E.g., to sort on the field COMPANY
- NAME, the string COMPANY, COMP or even CO may do the trick.)
-
- Your original list remains on disk; it is never sorted. This
- allows the user to create a variety of sorts from the "master"
- list. Please note that each time a list is sorted, however, a
- new LST file is created.
-
- When sorting on the first field, "LiSST" employs an
- algorithm which is "blind" to initial "The," "An" or "A"
- articles. This makes "LiSST" ideal for cataloging books,
- films, records, etc. For example, one can enter "The Maltese
- Falcon," verbatim, without having to corrupt the title to
- "Maltese Falcon, The." "LiSST" sorts all titles beginning
- with "The," "An" and "A" at optimum speed and accuracy,
- provided the first field is the title field. (Most listings of
- this kind place the title in the first field, anyway.)
-
- "LiSST" incorporates a sort method based upon the well-known
- Shell Sort, proven to be the fastest routine for lists that are
- already largely in alphabetical order. Most listings, after
- all, require significant sorting only once, as re-sorts involve
- less than 25 percent new entries.
-
- "LiSST" will not initiate a sort if it cannot locate the
- "Sort on?" input string within any field heading. "LiSST"
- sorts entirely in RAM memory. This makes the routine extremely
- fast. However, a listing that is larger than the TPA (transient
- program area), aborts. But it is anticipated that most lists
- won't overflow the 640k DOS limitation (and LiSSt itself
- occupies less than 35k of RAM). In the event a list does
- exceed RAM, "LiSST" exits from the sort routine and
- indicates that the list is "too large for available memory,"
- displaying the record count of the list. [Any listing that is
- too large for "LiSST" to sort should probably be handled
- with a more powerful DBMS, like dBase, anyway.]
-
- PLEASE NOTE THAT THIS CONSTRAINT APPLIES ONLY TO "LiSST's"
- RAM-RESIDENT SORT ROUTINE. Files can be as large as available
- disk space allows, and be edited, searched and output with no
- difficulty whatsoever.
-
- OUTPUT: "LiSST" provides three channels to which listings,
- either totally or selectively, can be output: to the printer,
- to the console, or to a disk file. In OUTPUT mode, "LiSST"
- initially prompts "Listing of?" for a particular scope. As in
- EDIT mode, enter an unambiguous search string common only to
- the records you want. This string can be in any field or
- fields. For a complete listing of all records, type <enter>
- (default for "all.")
-
- "LiSST" next asks "To printer/disk/console?" Reply "P" or
- "p" if you want a printed listing, "D" or "d" to output to a
- disk file, or "C," "c" or <enter> for output to screen.
-
- Before printing, you are asked to supply a "Heading of list?"
- Lists are printed approximately 51 lines per page, with page
- numbers, margins, and a heading (if given). Field headings for
- each column are automatically printed; the heading option
- allows a more general title such as "My Videotape Collection"
- or "Current Club Members." If no general heading is desired,
- <enter> defaults to no heading. Finally, "LiSST" asks "Pause
- between pages?" This facilitates printing to single sheets or
- printing on both sides of the paper. Answer "Y" to pause, <enter>
- or any other key to print normally on fanfold paper.
-
- If you selected to output to disk, "LiSST" asks "Disk file
- name?" Enter d:filename.ext. Output is directed to that disk
- file. Simultaneously, output is echoed to the screen, allowing
- the user to see exactly what is being ported to the disk file.
- There are a lot of advantages to disk output. For one, the
- resulting disk file can be incorporated into any word
- processing document. The following, sorted by year:
-
- FILM TITLE DIRECTOR YEAR
-
- The Man Who Knew Too Much Hitchcock 1934
- The Secret Agent Hitchcock 1936
- Rebecca Hitchcock 1940
- Suspicion Hitchcock 1941
- Lifeboat Hitchcock 1944
- Spellbound Hitchcock 1945
- Rope Hitchcock 1948
- Stage Fright Hitchcock 1950
- Strangers on a Train Hitchcock 1951
- Psycho Hitchcock 1960
-
- was output from a much larger listing, to disk, and pulled into
- this document with WordStar's ^KR command. (Output to disk in
- conjunction with "LiSST's" ^ASCII menu option is one way to
- produce sub-listings sorted on multiple fields.)
-
- If you replied with "C," "c" or <enter> (indicating output to
- screen) "LiSST" defaults to console output.
-
- During output to both disk and console, "LiSST" sends about
- 21 lines to the screen, pauses and prompts "More?" Striking any
- key except <end> scrolls another 21 lines, and so on,
- until "[end of list]" is displayed. At any time, output may be
- aborted by striking thσ <end> key at the "More?" prompt. Further
- records will not be output to either screen or disk file and
- the program will return to the Main Menu.
-
- Incidentally, should you enter an output scope character string
- that "LiSST" is unable to locate, or if the particular list
- is empty (which can happen), you will be notified!
-
- LIMITATIONS AND CONSTRAINTS
-
- number of fields per record .......................... 9
- number of characters per record ..................... 79
- number of records per list ................... unlimited
- number of records sorted ................. RAM dependent
-
- COMMAND SUMMARY FOR ORDINARY OPTIONS
-
-
-
- Startup: d:LiSST
- "Name of list?" d:LISTNAME
- or
- d:LiSST d:LISTNAME
-
- Create: "Field [1-8] heading?" string
- "Field [1-8] length?" integer
- <enter> at any "Field heading?" prompt to quit or
- until max char length equals 78 or 79.
-
- Input: "[Field head]:" string
- repeats for each field head in record, for each new
- record.
- "OK?" Y/N
- <enter> at any prompt to quit. Incompleted
- record is not written to disk.
-
- Edit: "Search for?" search string
- <enter> to quit
- "[Field head: Entry]"
- "Change?" new entry, or <enter>
- repeats for each field in record, for each record
- matching search string.
- "Delete?" Y or <enter>
- repeats until end of list
-
- Sort: "Sorted file name?" d:filename
- "Sort on?" field head start string
- aborts sort routine if list too large for RAM
-
- Output: "Listing of?" search string, <enter> for all
- "To printer/disk/console?"
- if P or p
- "Heading of list?" optional title or <enter>
- "Pause between pages?" Y or <enter>
- if D or d
- "Disk file name?" d:filename.ext
- creates ascii file
- "More?" Y or <end>
- if C, c or <enter>
- defaults to console, screen-by-screen output
- "More?" Y or <end>
-
- Quit: F10
-
- USING KWIKLISTS WITH TEXT EDITORS Lists produced with
- "LiSST" are binary; however, output to disk from the Main
- Menu creates ASCII text files which can be accessed with
- virtually any word processor in non-document mode. Because of
- this, it is often easier to undertake heavy LST file editing
- tasks with WordStar or Word Perfect than with "LiSST's"
- EDIT option. Most word processors' find & replace, tab and
- macro features make editing very long lists quite uncomplicated
- and fast. To edit a "LiSST" file with a word processor, keep
- in mind the following:
-
- (1) Work with the ASCII disk file output via "LiSST's"
- OUTPUT mode "D" selection only.
- (2) Use only non-document mode.
- (3) Do not add to or subtract from the total length of any
- field in any record.
-
- If you've used the "Change" option to add new field(s): enter
- data in the new field(s) for two or three records with
- "LiSST" first. This way, you will have a "guide" in place if
- you then wish to use a word processor as described in the above
- method to complete entering data into the new field(s) for the
- rest of the list.
-
- MULTIPLE LINE LISTINGS It is possible to get multiple line
- listings per record with "LiSST." Simply establish one field
- (on which the full list will be sorted) for a common "key."
- Then, for however many lines you'd like a record to occupy,
- give them the same "key" in that field. There are obvious
- limitations to this technique, but it does work. For example:
-
- Bailey, George 320 Sycamore Bedford Falls 17
- " " Epson Equity bank officer 17
- Smith, Winston London England 18
- " " Kaypro 286i historian 18
-
- and so forth. Get the idea?
-
- SORTING ON MORE THAN ONE FIELD This is possible; there is some
- doubt as to whether it is practical. Let's assume you have a
- large listing of movies that you would like sorted
- alphabetically, but also by category (e.g., comedy, drama,
- adventure, sci-fi, documentary). First run a general sort by
- title for alphabetical order. With "LiSST" outputting To
- disk, create a text file for each category. Join all the text
- files together with a text editor, eliminating extra spaces and
- the column headings. Use the "ASCII" option to convert the
- combined text files into a new LST file. And there you have it.
- The list is now sorted by category and in alphabetical order.
-
- AND THERE'S MORE: This should be enough explanation to get
- you going with the ordinary functions of 'LiSST.' I have
- deliberately left out any reference to the Special Functions
- or the DOS functions. You may well be able to figure those
- out with no documentation at all. Good for you! But whether
- or not you want additional documentation, if 'LiSST' appeals
- to you, a suggested registration fee of a mere $25 will
- bring you your own pristine copy of LiSST, and a real nice
- instruction manual covering ALL of 'LiSST's' features and
- uses. PLUS, if you act now, you will be entitled to one free
- upgrade!
-
- The 'LiSST' Relational Listmaker System is shareware, and is
- copyright (c) 1989 by Sam Bellotto Jr. If you like it, send
- $25 to
- Sam Bellotto Jr.
- 45 Rowley Street
- Rochester, NY 14607
- (716) 461-1008
-
- ***********************************************