home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / hl10odoc.lzh / HomeLibr.doc next >
Text File  |  1994-04-23  |  54KB  |  1,668 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                                         Home  Librarian
  20.  
  21.                  A  Computerized  Library  Card  Catalog
  22.  
  23.                                                  System
  24.  
  25.  
  26.  
  27.                                                Robert Heller
  28.                                           Deepwoods Software
  29.                                            Wendell, MA, USA
  30.  
  31.  
  32.  
  33.                                                 May 4, 1992
  34.  
  35.  
  36.  
  37.  
  38.              This documentation was prepared with LaTEX.
  39.              This document describes version 1.0 Beta of the Home Librarian
  40.          package.
  41.  
  42.  
  43.              Copyright (c)1991, 1992 by Robert Heller D/B/A Deepwoods Software
  44.  
  45.  
  46.              All rights reserved. Permission is granted to copy this document in
  47.          electronic form only, so long as it is with the software it documents.
  48.          See Appendix B for complete licensing details.
  49.              The author, Robert Heller, may be contacted electronically (E-Mail)
  50.          via the following:
  51.  
  52.          FidoNet     1:321/153, Locks Hill BBS.
  53.  
  54.          CompuServe        71450,3432
  55.  
  56.          BIX    locks.hill.bbs
  57.  
  58.          InterNet     heller@cs.umass.edu
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. Contents
  71.  
  72.  
  73.  
  74.  
  75.  
  76. Preface                                                                     vii
  77.  
  78. 1   Introduction.                                                           1
  79.     1.1   Basic Terminology   . . . . . . . . . . . . . . . . . . . . .   1
  80.           1.1.1    What is a Card Catalog Data Base?   . . . . . . .   1
  81.           1.1.2    What is a "card"?   . . . . . . . . . . . . . . . . .   1
  82.     1.2   Common GUI Definitions.  . . . . . . . . . . . . . . . . .   4
  83.           1.2.1    Keyboard Defin1tions.  . . . . . . . . . . . . . . .   4
  84.     1.3   How This Manual is Organized   . . . . . . . . . . . . . .   4
  85.           1.3.1    Creating and Modifing a Data Base.   . . . . . . .   5
  86.           1.3.2    Searching a Data Base.  . . . . . . . . . . . . . . .   5
  87.           1.3.3    Getting Hard Copy of a Data Base.  . . . . . . . .   5
  88.           1.3.4    Moving Data Bases Across Systems.   . . . . . . .   5
  89.           1.3.5    Licensing and Registation.  . . . . . . . . . . . . .   5
  90.  
  91. 2   Editing a Librarian Data Base.                                   7
  92.     2.1   Invoking EditLibr.  . . . . . . . . . . . . . . . . . . . . .   7
  93.     2.2   Using EditLibr.   . . . . . . . . . . . . . . . . . . . . . .   8
  94.           2.2.1    The Main Command Menu.  . . . . . . . . . . . .   8
  95.           2.2.2    Card Editor. . . . . . . . . . . . . . . . . . . . . .  11
  96.  
  97. 3   Searching a Data Base.                                            13
  98.     3.1   Invoking Librarian.  . . . . . . . . . . . . . . . . . . . .  13
  99.     3.2   Using Librarian.  . . . . . . . . . . . . . . . . . . . . . .  13
  100.           3.2.1    The Quit Menu Item.   . . . . . . . . . . . . . . .  13
  101.           3.2.2    The List Cards Menu Item.   . . . . . . . . . . .  15
  102.           3.2.3    The List Titles Menu Item.  . . . . . . . . . . .  15
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.                                          i
  110.  
  111.  
  112.  ii                                                                  CONTENTS
  113.  
  114.            3.2.4   The List Authors Menu Item.  . . . . . . . . . .  15
  115.            3.2.5   The List Subjects Menu Item.   . . . . . . . . .  15
  116.  
  117.  4   Printing Cards.                                                      17
  118.      4.1   Invoking PrintCards.   . . . . . . . . . . . . . . . . . . .  17
  119.      4.2   PrintCards Output.  . . . . . . . . . . . . . . . . . . . .  19
  120.  
  121.  5   Printing Labels.                                                      21
  122.      5.1   Invoking PrintLabels.  . . . . . . . . . . . . . . . . . . .  21
  123.      5.2   The Template File.  . . . . . . . . . . . . . . . . . . . . .  21
  124.      5.3   PrintLabels Output.   . . . . . . . . . . . . . . . . . . .  23
  125.  
  126.  A   Converting to and from Text Files.                            25
  127.      A.1   Invoking Libr2Ascii.   . . . . . . . . . . . . . . . . . . .  25
  128.      A.2   Invoking Ascii2Libr.   . . . . . . . . . . . . . . . . . . .  26
  129.      A.3   When You Need to Use These Programs.  . . . . . . . . .  26
  130.  
  131.  B   License and Warranty Information.                            27
  132.      B.1   Copyright.  . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  133.      B.2   License.   . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  134.            B.2.1   License to use.   . . . . . . . . . . . . . . . . . . .  27
  135.            B.2.2   License to copy.  . . . . . . . . . . . . . . . . . . .  27
  136.            B.2.3   No Support.  . . . . . . . . . . . . . . . . . . . . .  28
  137.      B.3   No Warranty.  . . . . . . . . . . . . . . . . . . . . . . . .  28
  138.  
  139.  C   Registration: Why bother?                                       31
  140.      C.1   What is Shareware? . . . . . . . . . . . . . . . . . . . . .  31
  141.      C.2   What You Get When You Register.  . . . . . . . . . . . .  31
  142.      C.3   If You Decide Not To Register.   . . . . . . . . . . . . . .  32
  143.      C.4   Why Not Simply Make It a Commercial Package?  . . . .  32
  144.  
  145.  D   Registration Form.                                                  33
  146.  
  147.  Index                                                                        35
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159. List  of  Figures
  160.  
  161.  
  162.  
  163.  
  164.     1.1   Structure of a "Card Catalog Data Base".   . . . . . . . .   2
  165.  
  166.     2.1   Main command menu of EditLibr.  . . . . . . . . . . . .   9
  167.     2.2   Edit Card Screen of EditLibr. . . . . . . . . . . . . . . .  12
  168.  
  169.     3.1   Main command menu of Librarian.   . . . . . . . . . . .  14
  170.  
  171.     D.1   Registration Form . . . . . . . . . . . . . . . . . . . . . .  34
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.                                         iii
  199.  
  200.  
  201.       iv                                                         LIST OF FIGURES
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213. List  of  Tables
  214.  
  215.  
  216.  
  217.  
  218.     1.1   Indices in a "Card Catalog Data Base". . . . . . . . . . .   2
  219.     1.2   Fields in a "card".   . . . . . . . . . . . . . . . . . . . . .   3
  220.     1.3   Allowed types for a "card".   . . . . . . . . . . . . . . . .   3
  221.     1.4   Common Key Bindings.   . . . . . . . . . . . . . . . . . .   4
  222.  
  223.     2.1   Card Editor Key Bindings.  . . . . . . . . . . . . . . . . .  12
  224.  
  225.     4.1   PrintCards options . . . . . . . . . . . . . . . . . . . . .  18
  226.     4.2   Expression operators  . . . . . . . . . . . . . . . . . . . .  18
  227.     4.3   Field types . . . . . . . . . . . . . . . . . . . . . . . . . .  19
  228.  
  229.     5.1   PrintLabels options  . . . . . . . . . . . . . . . . . . . .  22
  230.     5.2   PrintLabels Template File Field Replacement Formats.   22
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.                                          v
  253.  
  254.  
  255.       vi                                                          LIST OF TABLES
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267. Preface
  268.  
  269.  
  270.  
  271.  
  272. The Home Librarian system maintains a database of "cards", which de-
  273. scribe books, magazines, video and audio tapes, CDs, record albums,
  274. laser disks, and other simular items. The data is indexed by a unique
  275. ID for each "card", a title index, an author index, and a subject in-
  276. dex.  Each card contains fields for a title, an author, a publisher, a
  277. year, a volume number, a description, and an item type.  The Home
  278. Librarian package has six programs: EditLibr for editing card catalog
  279. files, Librarian for searching card catalog files, PrintCards for make
  280. card catalog cards, PrintLabels for printing item labels, Libr2Ascii for
  281. dumping a card catalog file to a plain ASCII text format, and Ascii2Libr
  282. for building a card catalog file from an ASCII text file (as generated by
  283. Ascii2Libr).
  284.     I had two main goals in mind when I set out to write the Home
  285. Librarian package. First I wanted to learn C++ by writing some "real"
  286. programs, not just the exercises in the book, and secondly, I wanted
  287. to write a package to help me deal with my growing library of science
  288. fiction books, video tapes, and audio cassettes, which I estimate at
  289. about 1,000 items.  The first goal has pretty much been reached, in
  290. that I believe I h1ve a good working feel for C++.  My second goal is
  291. still in progress . I also wanted to experiment with writing a shareware
  292. package, to see if it is a viable source of income and not too much
  293. hassle, that is, to see if the cost/benifit tradeoff is reasonable.
  294.     If you have any comments about this package, please let me know.
  295. My electronic mail addresses are listed on the back side of the title page.
  296. My postal address is listed in Appendix D. I would be very interested
  297. in any comments users of the Home Librarian package might have.
  298. _________________________________
  299.    1As of this writing, I have not completed putting everything into the database.
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.                                         vii
  307.  
  308.  
  309. viii                                                                      Preface
  310.  
  311.     I'd like to thank my friend Ephraim St. George Robbins for helping
  312. me with this manual.
  313.  
  314.  
  315. Robert Heller
  316. Deepwoods Software
  317. Wendell, MA, USA
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329. Chapter  1
  330.  
  331.  
  332.  
  333. Introduction.
  334.  
  335.  
  336.  
  337.  
  338. 1.1       Basic  Terminology
  339.  
  340. The Home Librarian package works over files that are "Card Catalog
  341. Data Bases" which contain a number of "cards".
  342.  
  343.  
  344. 1.1.1       What is a Card Catalog Data Base?
  345.  
  346. A Card Catalog Data Base file contains a collection of "cards" that
  347. describe items in your library, such as books, magizines, records, and
  348. tapes. These cards are indexed with four indices as shown in Table 1.1.
  349. Each index uses 35 character strings as keys. The keys are always com-
  350. pared in a case-insensitive fashion. That is, "The Door Into Summer"
  351. is the same as "THE DOOR INTO SUMMER". Internally, the keys are con-
  352. verted to all uppercase letters. The id index indexes to the card records
  353. directly. The other three indices index to lists of ids, and thus index
  354. to the cards indirectly, as shown in Figure 1.1.
  355.  
  356.  
  357. 1.1.2       What is a "card"?
  358.  
  359. A card has a number of fields as shown in Table 1.2.  The id field could
  360. be an ISBN number, a LC call number, a Deuy-decimal call number,
  361. or any other unique identification code. The type field must be one of
  362. the types listed in Table 1.3.   The author and title fields are used
  363. for the author and title cross-references.
  364.  
  365.  
  366.  
  367.  
  368.                                          1
  369.  
  370.  
  371.       2                                        CHAPTER 1.  INTRODUCTION.
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.       ___________Table_1.1:_Indices_in_a_"Card_Catalog_Data_Base".______________
  379.       |Name    |    Description                                              |
  380.       |________|_____________________________________________________________|__
  381.       |id        |  This index is by a unique identifier.  Each card           |
  382.       |          |  has its own unique identifier.                             |
  383.       |title    |   This index is the title cross-reference.               |
  384.       |author   |   This index is the author cross-reference.            | |
  385.       |subject ||   This index is a subject index.                       ||
  386.       |________|__________________________________________________________|_____
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.                Figure 1.1: Structure of a "Card Catalog Data Base".
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414. -----------------------------------------------------------------------
  415. |                           ------------              ---------       |
  416. |                           | id index |------------->| Cards |       |
  417. |                           ------------              ---------       |
  418. |                              ^  ^  ^                                |
  419. |  ---------------      --------- |  |                                |
  420. |  | title index |----->| lists | |  |                                |
  421. |  ---------------      --------- |  |                                |
  422. |                                 |  |                                |
  423. |  ----------------        --------- |                                |
  424. |  | author index |------->| lists | |                                |
  425. |  ----------------        --------- |                                |
  426. |                                    |                                |
  427. |  -----------------          ---------                               |
  428. |  | subject index |--------->| lists |                               |
  429. |  -----------------          ---------                               |
  430. |  card catalog file                                                  |
  431. -----------------------------------------------------------------------
  432.  
  433.  
  434. 1.1.  BASIC TERMINOLOGY                                             3
  435.  
  436.  
  437.  
  438.  
  439.  
  440. ________________________Table_1.2:_Fields_in_a_"card".__________________
  441. |Name          |    Description                                      |
  442. |______________|_____________________________________________________|__
  443. |id              |  A unique identifier.                             |
  444. |type           ||  The type of item the card describes.         |   |
  445. |author        ||   For the author (or artist).                  |  |
  446. |title         ||   For the title.                                  |  |
  447. |publisher    | |   For the name of the publisher.                |    |
  448. |city         | |   For the city where the item was published. |  |
  449. |description |  |   For a long description.                    |    |
  450. |volume      | |    For the volume number.                       |  |
  451. |year          ||   For the year published.                      | |
  452. |_______________|__________________________________________________|____
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461. ___________________Table_1.3:_Allowed_types_for_a_"card"._____________
  462. |Name             |   Description                                  |
  463. |_________________|________________________________________________|__
  464. |Book              |  For books.                                   |
  465. |Magazine        | |  For magazines and periodicals.           |   |
  466. |CD              |  | For compact disks.                       | |
  467. |AudioCassette |    | For audio cassettes.                       ||
  468. |Album         |   |  For record albums.                         ||
  469. |LaserDisk       | |  For laser (video) disks.                   ||
  470. |VHSVideo        |    For VHS format video tape recordings. |     |
  471. |BetaVideo       |    For Beta format video tape recordings.||
  472. |EightMM         ||   For 8mm video tape recordings.         ||
  473. |EightTrack      ||   For 8-track audio recordings.           | |
  474. |DAT             | |  For 4mm digital audio tapes.             ||
  475. |Other             |  For anything else.                       |  |
  476. |__________________|______________________________________________|___
  477.  
  478.  
  479.   4                                        CHAPTER 1.  INTRODUCTION.
  480.  
  481.  
  482.   ____________________Table_1.4:_Common_Key_Bindings.___________________________
  483.   |Special Key      |    Generic Key            |    Meaning                |
  484.   |_________________|___________________________|___________________________|___
  485.   |Home               |  Esc                      |  Exit or quit            |
  486.   |<- (left arrow)   ||  Ctrl-B                  ||  Move left               |
  487.   |-> (right arrow) ||   Ctrl-F                  |   Move right             ||
  488.   |^ (up arrow)     |    Ctrl-P                  |   Move up                |
  489.   |v (down arrow)  ||    Ctrl-N                  |   Move down             ||
  490.   |                |    |Delete or Backspace |   |   Delete previous char- |   |
  491.   |                     |                    |       acter                     |
  492.   |                     |Return or Enter       |     Accept  input  or  se-    |
  493.   |_____________________|______________________|_____lection___________________|
  494.  
  495.  
  496.   1.2       Common  GUI  Definitions.
  497.  
  498.   1.2.1      Keyboard Defin1tions.
  499.  
  500.   Both the EditLibr and Librarian programs use a terminal-based
  501.   "Graphical User Interface" (GUI). This is1a very simple interface that
  502.   works on any video display terminal (VDT) . The GUI routines use
  503.   cursor positioning and reverse video or standout mode and do "raw"
  504.   terminal input (single character input with normal operating system
  505.   input editing disabled), much like a screen-based text editor such as
  506.   Emacs.
  507.       The input handling code expects a terminal that has arrow keys on
  508.   its keyboard, but will work with terminals whose keyboards do not have
  509.   arrow keys, by accepting "generic" control characters instead.  These
  510.   "generic" control characters were taken from Emacs's positioning bind-
  511.   ings. The common (used in all screens, except as noted) key bindings
  512.   are listed in Table 1.4.
  513.  
  514.  
  515.   1.3       How  This  Manual  is  Organized
  516.  
  517.   This manual is organized by functions -- each chapter describes the
  518.   program(s) that perform a particular function.
  519.   _________________________________
  520.      1If you are using OSK, you need to set the TERM environment variable to the
  521.   terminal type.  Under MS-DOS, the terminal type is presumed to be an ANSI
  522.   terminal and you need to be running ANSI.SYS or something simular.
  523.  
  524.  
  525. 1.3.  HOW THIS MANUAL IS ORGANIZED                           5
  526.  
  527. 1.3.1       Creating and Modifing a Data Base.
  528.  
  529. A data base file can be created and modified with the EditLibr program,
  530. which is described in chapter 2. This program creates and modifies card
  531. catalog data bases.
  532.  
  533.  
  534. 1.3.2       Searching a Data Base.
  535.  
  536. The Librarian program, which is described in chapter 3, is a program
  537. meant to be used to search card catalog data bases.
  538.  
  539.  
  540. 1.3.3       Getting Hard Copy of a Data Base.
  541.  
  542. A "hard copy" of the data base can be created with the PrintCards
  543. program which is described in chapter 4. This program is used to gen-
  544. erate either 3x5 or 5x8 cards. These cards are much like old-fashioned
  545. paper card catalogs.
  546.     The PrintLabels program, which is described in chapter 5, can be
  547. used to print labels or generate any other sort of hard copy or any sort
  548. of text file output from a card catalog data base.
  549.  
  550.  
  551. 1.3.4       Moving Data Bases Across Systems.
  552.  
  553. Appendix A is describes a pair of programs to convert a data base file
  554. from its normal binary format to a readily transportable ASCII text
  555. file format.
  556.  
  557.  
  558. 1.3.5       Licensing and Registation.
  559.  
  560. Appendix B contains the licensing information for this package.  Ap-
  561. pendix C talks about Shareware Registation.  Appendix D contains a
  562. Shareware Registation form for this package.
  563.  
  564.  
  565.               6                                        CHAPTER 1.  INTRODUCTION.
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577. Chapter  2
  578.  
  579.  
  580.  
  581. Editing  a  Librarian  Data
  582.  
  583. Base.
  584.  
  585.  
  586.  
  587.  
  588. A Card Catalog Data Base is created and edited with the EditLibr
  589. prog1am.   This program uses a simple menu-driven, terminal-based
  590. GUI .
  591.  
  592.  
  593. 2.1       Invoking  EditLibr.
  594.  
  595. EditLibr is invoked from the command line, as follows, to edit an
  596. existing data base file:
  597.  
  598.  
  599.  
  600. EditLibr -editfile <filename>
  601.  
  602.  
  603.  
  604. or like this to create a new data base file:
  605.  
  606.  
  607. EditLibr -editfile <filename> -minpages <pages>
  608.  
  609.  
  610. where <filename> is the name of the file to be edited or created and
  611. <pages> is the number of index pages to pre-allocate when creating
  612. _________________________________
  613.    1See section 1.2 for GUI definations.
  614.  
  615.  
  616.                                          7
  617.  
  618.  
  619. 8              CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  620.  
  621. a new file.  Each index page stores upto 21 index keys.  Remember,
  622. there are four indexes.  If while editing your data base, you run out
  623. of pre-allocated index pages, more will be allocated.  The difference
  624. will be that new index pages are allocated from the end of the file on
  625. an as needed basis.  If pages get allocated this way the index table
  626. will be fragmented. Pre-allocating the pa2es puts them all new at the
  627. beginning of the file, for faster access .
  628.  
  629.  
  630. 2.2       Using  EditLibr.
  631.  
  632. 2.2.1      The Main Command Menu.
  633.  
  634. When EditLibr starts up, it displays its main menu, as shown in Fig-
  635. ure 2.1.
  636.  
  637.  
  638. The Quit Menu Item.
  639.  
  640. The Quit menu item causes EditLibr to close the data base file and
  641. exit.
  642.  
  643.  
  644. The Edit a Card Menu Item.
  645.  
  646. The Edit a Card menu item is used to edit a specific card in the data
  647. base. You are prompted for a card id, and the card editor is invoked.
  648. The card editor is described in Section 2.2.2.
  649.  
  650.  
  651. The Delete a Card Menu Item.
  652.  
  653.  
  654.     The Delete a Card menu item is used to delete a selected card by
  655. its id. You are prompted for the id of the card to delete.
  656.  
  657.  
  658. The Delete by Author Menu Item.
  659.  
  660. The Delete by Author menu item is used to delete some or all cards
  661. for items written by a selected author. You are prompted for an author
  662. _________________________________
  663.    2These pages are cached using a simple "virtual memory" scheme, so disk access
  664. is minimized.
  665.  
  666.  
  667. 2.2.  USING EDITLIBR.                                                     9
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.               Figure 2.1: Main command menu of EditLibr.
  681.  _____________________________________________________________________________
  682.  |                                                                           |
  683.  |                                                                           |
  684.  |                       Main Command Menu                                   |
  685.  |                                                                           |
  686.  | Quit                                                                      |
  687.  | Edit a Card                                                               |
  688.  | Delete a Card                                                             |
  689.  | Delete by Author                                                          |
  690.  | Delete by Title                                                           |
  691.  | Delete by Subject                                                         |
  692.  | List Cards                                                                |
  693.  | List Titles                                                               |
  694.  | List Authors                                                              |
  695.  | List Subjects                                                             |
  696.  | Spawn Shell                                                               |
  697.  |                                                                           |
  698.  |                                                                           |
  699.  |                                                                           |
  700.  |                                                                           |
  701.  |                                                                           |
  702.  |                                                                           |
  703.  |                                                                           |
  704.  |                                                                           |
  705.  |___________________________________________________________________________|
  706.  
  707.  
  708. 10             CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  709.  
  710. and then the card ids for that author are listed one by one and you are
  711. asked if you want to delete each card.
  712.  
  713.  
  714. The Delete by Title Menu Item.
  715.  
  716. The Delete by Title menu item is used to delete some or all cards
  717. for items with a selected title. You are prompted for an title and then
  718. the card ids for that title are listed one by one and you are asked if you
  719. want to delete each card.
  720.  
  721.  
  722. The Delete by Subject Menu Item.
  723.  
  724. The Delete by Subject menu item is used to delete some or all cards
  725. for items with a selected subject. You are prompted for an subject and
  726. then the card ids for that subject are listed one by one and you are
  727. asked if you want to delete each card.
  728.  
  729.  
  730. The List Cards Menu Item.
  731.  
  732. The List Cards menu item lists cards with their titles which have a
  733. common selected prefix for their id strings.  You are prompted for a
  734. search prefix and those cards with a matching prefix string in their id
  735. string are listed. You have the option of editing a selected card.
  736.  
  737.  
  738. The List Titles Menu Item.
  739.  
  740. The List Titles menu item lists titles with a common selected prefix
  741. string.  You are prompted for a search prefix and those titles with a
  742. matching prefix strin3 are listed. You have the option of selecting one
  743. of the listed titles , in which case t4e ids for the selected title are listed
  744. (much as in the List Cards menu item) .
  745.  
  746.  
  747. The List Authors Menu Item.
  748.  
  749. The List Authors menu item lists authors with a common selected
  750. prefix string. You are prompted for a search prefix and those authors
  751. _________________________________
  752.    3If only one title matches, it is automatically selected
  753.    4If the title only refers to a single card, that card is placed in the card editor
  754. directly
  755.  
  756.  
  757. 2.2.  USING EDITLIBR.                                                    11
  758.  
  759. with a matching prefix str5ng are listed. You have the option of selecting
  760. one of the listed authors , in which case the ids6for the selected author
  761. are listed (much as in the List Cards menu item) .
  762.  
  763.  
  764. The List Subjects Menu Item.
  765.  
  766. The List Subjects menu item lists subjects with a common selected
  767. prefix string. You are prompted for a search prefix and those subjects
  768. with a matching prefix stri7g are listed. You have the option of selecting
  769. one of the listed subjects , in which case the id8 for the selected subject
  770. are listed (much as in the List Cards menu item) .
  771.  
  772.  
  773. The Spawn Shell Menu Item.
  774.  
  775. The Spawn Shell menu item forks a sub-shell process.
  776.  
  777.  
  778. 2.2.2       Card Editor.
  779.  
  780. When the card editor is invoked, it checks to see if the card to be
  781. edited exists in the data base or not.  If the card does not exist, you
  782. are asked if you want to create a new card. The card editor then puts
  783. up a screen as in Figure 2.2. The card editor defines the key bindings
  784. shown in Table 2.1  The i (or I) key is used to modify fields. The id
  785. field cannot be modified. When the displayed card is different from the
  786. stored card, an asterisk (*) is displayed in the uppper left corner of the
  787. screen. Most of the fields are updated by simply typing the i (or I) key
  788. and then re-typing the field and pressing the Return or Enter key. Two
  789. fields are different. The desc9iption and subject fields are modified
  790. using an external text editor .  Entering the i (or I) key spawns the
  791. external editor with a temp file containing the field to be modified.
  792.  
  793. _________________________________
  794.    5If only one author matches, it is automatically selected
  795.    6If the author only refers to a single card, that card is placed in the card editor
  796. directly
  797.    7If only one subject matches, it is automatically selected
  798.    8If the subject only refers to a single card, that card is placed in the card editor
  799. directly
  800.    9Defined by the EDITOR environment variable or umacs by default under OSK
  801. and ??? by default under MS-DOS.
  802.  
  803.  
  804.   12             CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  805.  
  806.  
  807.  
  808.                   Figure 2.2: Edit Card Screen of EditLibr.
  809.    _____________________________________________________________________________
  810.    |                                                                           |
  811.    |                                                                           |
  812.    |                       Editing a Card                                      |
  813.    |                                                                           |
  814.    | Id:  <id>                                             Type:   <type>      |
  815.    | Title:   <title>                                                          |
  816.    | Author:   <author>                                                        |
  817.    | Publisher:   <publisher>                              Year:   <year>      |
  818.    | City:   <city>                                        Vol:  <volume>      |
  819.    | Description:     <description>                                            |
  820.    |                                                                           |
  821.    |                                                                           |
  822.    |                                                                           |
  823.    |                                                                           |
  824.    |                                                                           |
  825.    |                                                                           |
  826.    |                                                                           |
  827.    |                                                                           |
  828.    |                                                                           |
  829.    |                                                                           |
  830.    | Subjects:    <subject list>                                               |
  831.    |                                                                           |
  832.    |                                                                           |
  833.    |___________________________________________________________________________|
  834.  
  835.   ___________________Table_2.1:_Card_Editor_Key_Bindings.______________
  836.   |Special Key      |    Generic Key    |    Meaning                |
  837.   |_________________|___________________|___________________________|__
  838.   |Home               |  Esc              |  Exit                     |
  839.   |<- (left arrow)   ||  Ctrl-B          ||  Previous field          ||
  840.   |-> (right arrow) ||   Ctrl-F          |   Next field              ||
  841.   |^ (up arrow)     |    Ctrl-P          |   Previous field          ||
  842.   |v (down arrow)  ||    Ctrl-N          |   Next field              ||
  843.   |                |    |Tab or Ctrl-I | |   Next field               |
  844.   |                     |i or I        |  |  Modify current field   | |
  845.   |                     |Ctrl-L          ||  Repaint screen         |
  846.   |                     |?               | | Display help screen   ||
  847.   |                     |Ctrl-S          | | Save card             | |
  848.   |                     |h or H          ||  Give help for the cur-  | |
  849.   |_____________________|_________________|__rent_field________________|
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861. Chapter  3
  862.  
  863.  
  864.  
  865. Searching  a  Data  Base.
  866.  
  867.  
  868.  
  869.  
  870. The Librarian program is used to search a data base file. It1is meant
  871. as a eletronic replacement for a card catalog. It uses a GUI
  872.  
  873.  
  874. 3.1       Invoking  Librarian.
  875.  
  876. Librarian is invoked from the command line:
  877.  
  878.  
  879. Librarian -infile <filename>
  880.  
  881.  
  882. where <filename> is the name of the file to be searched.
  883.  
  884.  
  885. 3.2       Using  Librarian.
  886.  
  887. When Librarian starts up, it displayes its main menu, as shown in
  888. Figure 3.1.
  889.  
  890.  
  891. 3.2.1       The Quit Menu Item.
  892.  
  893. The Quit menu item causes Librarian to close the data base file and
  894. exit.
  895. _________________________________
  896.    1See section 1.2 for GUI definations.
  897.  
  898.  
  899.  
  900.                                         13
  901.  
  902.  
  903.   14                         CHAPTER 3.  SEARCHING A DATA BASE.
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.                Figure 3.1: Main command menu of Librarian.
  917.    _____________________________________________________________________________
  918.    |                                                                           |
  919.    |                                                                           |
  920.    |                       Main Command Menu                                   |
  921.    |                                                                           |
  922.    | Quit                                                                      |
  923.    | List Cards                                                                |
  924.    | List Titles                                                               |
  925.    | List Authors                                                              |
  926.    | List Subjects                                                             |
  927.    |                                                                           |
  928.    |                                                                           |
  929.    |                                                                           |
  930.    |                                                                           |
  931.    |                                                                           |
  932.    |                                                                           |
  933.    |                                                                           |
  934.    |                                                                           |
  935.    |                                                                           |
  936.    |                                                                           |
  937.    |                                                                           |
  938.    |                                                                           |
  939.    |                                                                           |
  940.    |                                                                           |
  941.    |___________________________________________________________________________|
  942.  
  943.  
  944. 3.2.  USING LIBRARIAN.                                                   15
  945.  
  946. 3.2.2       The List  Cards Menu Item.
  947.  
  948. The List Cards menu item lists cards with their titles which have a
  949. common selected prefix for their id strings.  You are prompted for a
  950. search prefix and those cards with a matching prefix string in their id
  951. string are listed. You have the option of displaying a selected card.
  952.  
  953.  
  954. 3.2.3       The List  Titles Menu Item.
  955.  
  956. The List Titles menu item lists titles with a common selected prefix
  957. string.  You are prompted for a search prefix and those titles with a
  958. matching prefix strin2 are listed. You have the option of selecting one
  959. of the listed titles , in which case t3e ids for the selected title are listed
  960. (much as in the List Cards menu item) .
  961.  
  962.  
  963. 3.2.4       The List  Authors Menu Item.
  964.  
  965. The List Authors menu item lists authors with a common selected
  966. prefix string. You are prompted for a search prefix and those authors
  967. with a matching prefix str4ng are listed. You have the option of selecting
  968. one of the listed authors , in which case the ids5for the selected author
  969. are listed (much as in the List Cards menu item) .
  970.  
  971.  
  972. 3.2.5       The List  Subjects Menu Item.
  973.  
  974. The List Subjects menu item lists subjects with a common selected
  975. prefix string. You are prompted for a search prefix and those subjects
  976. with a matching prefix stri6g are listed. You have the option of selecting
  977. one of the listed subjects , in which case the id7 for the selected subject
  978. are listed (much as in the List Cards menu item) .
  979.  
  980.  
  981.  
  982. _________________________________
  983.    2If only one title matches, it is automatically selected
  984.    3If the title only refers to a single card, that card is displayed directly
  985.    4If only one author matches, it is automatically selected
  986.    5If the author only refers to a single card, that card is displayed directly
  987.    6If only one subject matches, it is automatically selected
  988.    7If the subject only refers to a single card, that card is displayed directly
  989.  
  990.  
  991.                 16                         CHAPTER 3.  SEARCHING A DATA BASE.
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003. Chapter  4
  1004.  
  1005.  
  1006.  
  1007. Printing  Cards.
  1008.  
  1009.  
  1010.  
  1011.  
  1012. The PrintCards program is used to generate either 3x5 or 5x8 cards.
  1013. PrintCards can generate a shelf list, an author index, a title index, or
  1014. a subject index. Partial listings can also be generated.
  1015.  
  1016.  
  1017. 4.1       Invoking  PrintCards.
  1018.  
  1019. PrintCards is invoked from the command line like this:
  1020.  
  1021.  
  1022. PrintCards -infile <filename> <options>
  1023.  
  1024.  
  1025. Where <filename> is the file to print cards from and <options> consist
  1026. of zero or more of the options listed in Table 4.1.             1
  1027.     The expression can contain the operators listed in Table 4.2 . Each
  1028. relational expression needs to specify a field name and a value.  The
  1029. value must be of the correct type as shown in Table 4.3. Some example
  1030. expressions:
  1031.  
  1032. author="Norton, Andre"&type=Book
  1033.  
  1034. year>1990&type=CD
  1035. _________________________________
  1036.    1Because some of these operators might be interpreted by the command processor
  1037. (shell), it may be necessary to escape or quote the expression string.
  1038.  
  1039.  
  1040.  
  1041.  
  1042.                                         17
  1043.  
  1044.  
  1045.    18                                     CHAPTER 4.  PRINTING CARDS.
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.    _______________________Table_4.1:_PrintCards_options_________________________
  1052.    |Syntax                               |   Description                     |
  1053.    |_____________________________________|___________________________________|__
  1054.    |-largep true|false              |        Selects between large (5x8)       |
  1055.    |                                |        or  small  (3x5)  cards.    If    |
  1056.    |                                |        true  large  cards  are  gen-     |
  1057.    |                                |        erated  and  if  false  small     |
  1058.    |                                |        cards are generated.              |
  1059.    |-by id|title|author|subject |            Selects the type of card to       |
  1060.    |                            |            generate:   shelf  list  cards    |
  1061.    |                            |            (id), title cards (title), au-    |
  1062.    |                            |            thor cards (author), or sub-      |
  1063.    |                            |   |        ject cards (subject).             |
  1064.    |-only <expression>              |        Used         to         select    |
  1065.    |                                |        a subset of cards to gener-       |
  1066.    |                                |        ate. <expression> is a rela-      |
  1067.    |________________________________|________tional_expression_comparing_______|
  1068.                                              fields to selected values.
  1069.  
  1070.  
  1071.  
  1072.  
  1073.                          Table 4.2: Expression operators
  1074.    ______________________________________________
  1075.    |Operator |    Meaning                     |
  1076.    |_________|________________________________|__
  1077.    |<           | Less than                    |
  1078.    |>           | Greater than                ||
  1079.    |=           | Equal to                    ||
  1080.    |!=         || Not Equal to               | |
  1081.    |<=         |  Less than or Equal to     ||
  1082.    |>=         |  Greater than or Equal to ||
  1083.    |&          || And                      |   |
  1084.    ||           | Or                           ||
  1085.    |!           | Not                          ||
  1086.    |(...)     | | Expression grouping       |  |
  1087.    |"..."     |   String constant           | |
  1088.    |__________|_______________________________|__
  1089.  
  1090.  
  1091. 4.2.  PRINTCARDS OUTPUT.                                              19
  1092.  
  1093.  
  1094. ____________________________Table_4.3:_Field_types
  1095. |Field        |  Type                           |
  1096. |_____________|_________________________________|_
  1097. |type        |   Type name (see Table 1.3) |
  1098. |author      |   String constant           |   |
  1099. |title       |   String constant               |
  1100. |publisher | |   String constant               |
  1101. |city      | |   String constant               |
  1102. |volume      |   Integer constant              |
  1103. |year        |   Integer constant              |
  1104. |____________|_________________________________|__
  1105.  
  1106.  
  1107.  
  1108. type=CD|type=Album
  1109.  
  1110. publisher="Random House"&city="New York, NY"
  1111.  
  1112. type=CD&author="Guns and Roses"
  1113.  
  1114. type=EightTrack&author="Hank Williams, Jr."
  1115.  
  1116. type=EightMM
  1117.  
  1118. title="The Door Into Summer"
  1119.  
  1120.  
  1121.  
  1122. 4.2       PrintCards  Output.
  1123.  
  1124. The output of PrintCards is to the standard output stream. This can
  1125. be redirected with the output redirection command line character (>)
  1126. or piped with the pipe character (! under OSK or | under MS-DOS).
  1127. The output is meant for continous pin-fed index cards.
  1128.  
  1129.  
  1130.                20                                    CHAPTER 4.  PRINTING CARDS.
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142. Chapter  5
  1143.  
  1144.  
  1145.  
  1146. Printing  Labels.
  1147.  
  1148.  
  1149.  
  1150.  
  1151. The PrintLabels program is meant primarily to generate labels for
  1152. items in your library, but it can also be used to generate just about any
  1153. formated textual output.
  1154.  
  1155.  
  1156. 5.1       Invoking  PrintLabels.
  1157.  
  1158. PrintLabels is invoked from the command line like this:
  1159.  
  1160.  
  1161. PrintLabels -infile <filename> -template <tfile> <options>
  1162.  
  1163.  
  1164. Where <filename> is the file to print labels from, <tfile> is a template
  1165. file and <options> consist of zero or more of the options listed in
  1166. Table 5.1.
  1167.     The expression can contain the operators listed in Table 4.2. Each
  1168. relational expression needs to specify a field name and a value.  The
  1169. value must be of the correct type as shown in Table 4.3.
  1170.  
  1171.  
  1172. 5.2       The  Template  File.
  1173.  
  1174. The template file is a text file that is copied to the standard output
  1175. stream for each card record processed.  The file is copied literally, ex-
  1176. cept when a % character is encounted. This character indicates a field
  1177. replacement as shown in Table 5.2.
  1178.  
  1179.  
  1180.  
  1181.                                         21
  1182.  
  1183.  
  1184.    22                                   CHAPTER 5.  PRINTING LABELS.
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                          Table 5.1: PrintLabels options
  1192.    _____________________________________________________________________________
  1193.    |Syntax                               |   Description                     |
  1194.    |_____________________________________|___________________________________|__
  1195.    |-by id|title|author|subject |            Selects the type of label to      |
  1196.    |                            |            generate:   shelf  list  labels   |
  1197.    |                            |            (id),  title  labels  (title),    |
  1198.    |                            |            author  labels  (author),  or     |
  1199.    |                            |   |        subject labels (subject).         |
  1200.    |-only <expression>              |        Used         to         select    |
  1201.    |                                |        a subset of labels to gener-      |
  1202.    |                                |        ate. <expression> is a rela-      |
  1203.    |________________________________|________tional_expression_comparing_______|
  1204.                                              fields to selected values.
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.    _Table_5.2:_PrintLabels_Template_File_Field Replacement Formats.
  1213.    |Field            |  Replaced by      |
  1214.    |_________________|___________________|___
  1215.    |%%               |  %                   |
  1216.    |%id              |  The id string.    | |
  1217.    |%type           ||  The type.         |
  1218.    |%author        ||   The author.      ||
  1219.    |%title         ||   The title.       | |
  1220.    |%publisher    | |   The publisher.   | |
  1221.    |%city         | |   The city.        | |
  1222.    |%volume        ||   The volume.      | |
  1223.    |%year          ||   The year.        ||
  1224.    |%description |  |   The description. ||
  1225.    |_____________|_______________________|___
  1226.  
  1227.  
  1228. 5.3.  PRINTLABELS OUTPUT.                                             23
  1229.  
  1230. 5.3       PrintLabels  Output.
  1231.  
  1232. The output of PrintLabels is to the standard output stream. This can
  1233. be redirected with the output redirection command line character (>)
  1234. or piped with the pipe character (! under OSK or | under MS-DOS).
  1235.  
  1236.  
  1237.                24                                   CHAPTER 5.  PRINTING LABELS.
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249. Appendix  A
  1250.  
  1251.  
  1252.  
  1253. Converting  to  and  from  Text
  1254.  
  1255. Files.
  1256.  
  1257.  
  1258.  
  1259.  
  1260. The Libr2Ascii program converts a data base file to a portable ASCII
  1261. text file.   The Ascii2Libr takes the ASCII text file generated by
  1262. Libr2Ascii and re-creates the data base file.   These programs are
  1263. meant for converting the data base files to a form that can be readily
  1264. transfered between different systems.  The data base files themselves
  1265. use internal (CPU dependent) representation of the data stored, to al-
  1266. low rapid accessing and processing of the data.  Another thing these
  1267. programs do is to "compress" data base files, by discarding deleted and
  1268. inaccessable data.
  1269.  
  1270.  
  1271.  
  1272. A.1         Invoking  Libr2Ascii.
  1273.  
  1274. Libr2Ascii is invoked from the command line like this:
  1275.  
  1276.  
  1277.  
  1278. Libr2Ascii -infile <filename>
  1279.  
  1280.  
  1281.  
  1282. Where <filename> is the name of the file to be converted. The output
  1283. is sent to the standard output stream, where it can be redirected or
  1284. piped to other processing. This output is a plain text file.
  1285.  
  1286.  
  1287.  
  1288.                                         25
  1289.  
  1290.  
  1291. 26  APPENDIX A.  CONVERTING TO AND FROM TEXT FILES.
  1292.  
  1293. A.2        Invoking  Ascii2Libr.
  1294.  
  1295. Ascii2Libr is invoked from the command line like this:
  1296.  
  1297.  
  1298. Ascii2Libr -outfile <filename>
  1299.  
  1300.  
  1301. or like this to specify a new minimum page count:
  1302.  
  1303.  
  1304. Ascii2Libr -outfile <filename> -minpages <minpages>
  1305.  
  1306.  
  1307. Where <filename> is the name of the file to be created and <1inpages>
  1308. is the (optional) minimum number of index pages to allocate .
  1309.     The input to Ascii2Libr is from the standard input stream.
  1310.  
  1311.  
  1312. A.3        When  You  Need  to  Use  These  Pro-
  1313.  
  1314.            grams.
  1315.  
  1316. These programs convert a binary format card catalog data base file to
  1317. an easily transferable text file. All modern computer systems support
  1318. plain ASCII text files. The binary format contains processor-dependent
  1319. binary representations of the values use.
  1320.     These two programs can also be used to "compress" a data base
  1321. file. EditLibr makes no attempt to re-cycle data records. This is due
  1322. in part because these records are variable length. Maintaining a table
  1323. of "deleted" records, along with their sizes would involve considerable
  1324. overhead.  It is simpler to waste some disk space during the editing
  1325. process and reclaim it later with Libr2Ascii and Ascii2Libr.
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331. _________________________________
  1332.    1If <minpages> is not specified, the number of index pages to pre-allocate is
  1333. taken from the input stream and is just enough to hold the indices.
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345. Appendix  B
  1346.  
  1347.  
  1348.  
  1349. License  and  Warranty
  1350.  
  1351. Information.
  1352.  
  1353.  
  1354.  
  1355.  
  1356. B.1        Copyright.
  1357.  
  1358. The entire Home Librarian package is copyrighted (c) 1991,1992 by
  1359. Robert Heller (DBA) Deepwoods Software. All rights reserved, except
  1360. as noted in Section B.2.
  1361.  
  1362.  
  1363.  
  1364. B.2        License.
  1365.  
  1366.  
  1367. B.2.1       License to use.
  1368.  
  1369. The software package known as the Home Librarian package is licensed
  1370. to anyone to use at no charge or fee, on any number of machines, by
  1371. any number of users.
  1372.  
  1373.  
  1374. B.2.2       License to copy.
  1375.  
  1376. The  Home  Librarian  package  may  be  freely  copied,  SO  LONG
  1377. AS THE COMPLETE PACKAGE OF SIX EXECUTABLE
  1378. PROGRAMS AND THE DOCUMENTATION FILES ARE
  1379. COPIED TOGETHER AS A UNIT. No charge or fee may be
  1380.  
  1381.  
  1382.  
  1383.  
  1384.                                         27
  1385.  
  1386.  
  1387. 28  APPENDIX B.  LICENSE AND WARRANTY INFORMATION.
  1388.                                    1
  1389. demanded for a copy of this package .
  1390.  
  1391.  
  1392. B.2.3       No Support.
  1393.  
  1394. Unless the package is registered, no customer support of any sort is
  1395. provided.
  1396.  
  1397.  
  1398.  
  1399. B.3        No  Warranty.
  1400.  
  1401. BECAUSE  THE  Home Librarian  PACKAGE  IS  LICENSED
  1402. FREE  OF  CHARGE,  THERE  IS  NO  WARRENTY  FOR
  1403. THE PACKAGE, TO THE EXTENT PERMITTED BY AP-
  1404. PLICABLE LAW. EXCEPT WHEN OTHERWISE STATED
  1405. IN  WRITING  THE  COPYRIGHT  HOLDERS  AND/OR
  1406. OTHER  PARTIES  PROVIDE  THE  PACKAGE  "AS  IS"
  1407. WITHOUT  WARRANTY  OF  ANY  KIND,  EITHER  EX-
  1408. PRESSED  OR  IMPLIED,  INCLUDING,  BUT  NOT  LIM-
  1409. ITED  TO,  THE    IMPLIED    WARRANTIES  OF  MER-
  1410. CHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR
  1411. PURPOSE.  THE  ENTIRE  RISK  AS  TO  THE  QUALITY
  1412. AND  PERFORMANCE  OF  THE  PACKAGE  IS  WITH
  1413. YOU, THE USER. SHOULD THE PACKAGE PROVE DE-
  1414. FECTIVE,  YOU  ASSUME  THE  COST  OF  ALL  NECES-
  1415. SARY SERVICING, REPAIR OR CORRECTION.
  1416.     IN NO EVENT UNLESS REQUIRED BY APPLICABLE
  1417. LAW OR AGREED TO IN WRITING WILL ANY COPY-
  1418. RIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  1419. REDISTRIBUTE THE PACKAGE AS PERMITED ABOVE,
  1420. BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
  1421. GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUEN-
  1422. TIAL DAMAGES ARISING OUT OF USE OF THE USE
  1423. OR  INABILITY  TO  USE  THE  PACKAGE  (INCLUDING
  1424. BUT NOT LIMITED TO LOSS OF DATA OR DATA BE-
  1425. ING RENDERED INACCURATE OR LOSSES SUSTAINED
  1426. _________________________________
  1427.    1A modest media or transmission charge or fee is allowed.  This charge or fee
  1428. should not exceed the cost of the media or the cost of the transmission.
  1429.  
  1430.  
  1431. B.3.  NO WARRANTY.                                                   29
  1432.  
  1433. BY YOU OR THIRD PARTIES OR A FAILURE OF THE
  1434. PACKAGE  TO  OPERATE  WITH  ANY  OTHER    PRO-
  1435. GRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
  1436. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  1437. DAMAGES.
  1438.  
  1439.  
  1440.                 30  APPENDIX B.  LICENSE AND WARRANTY INFORMATION.
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452. Appendix  C
  1453.  
  1454.  
  1455.  
  1456. Registration:   Why  bother?
  1457.  
  1458.  
  1459.  
  1460.  
  1461. C.1        What  is  Shareware?
  1462.  
  1463. Shareware is software that is distributed freely, but with a voluntary
  1464. fee. Generally, this fee gets some extra benefits. In some cases, source
  1465. code is provided. In others a nice manual and/or customer support is
  1466. provided. Sometimes the freely distributed version has limited function-
  1467. ality and registration provides a fully functional version of the package
  1468. or program.
  1469.  
  1470.  
  1471. C.2        What You Get When You Register.
  1472.  
  1473. The Home Librarian package is fully functional as distributed freely.
  1474. You don't need to register it to make full use of the package. There are
  1475. advantages to registering your copy of the Home Librarian package.
  1476.     When you fill in the registration form (see Appendix D) and send
  1477. in your registration fee you will get two things:
  1478.  
  1479.     ╖  A printed manual, complete with a 3-ring binder.  This will be
  1480.        mailed to you using either UPS Ground or by special fourth class
  1481.        via the USPS. This manual will be printed with a high-resolution
  1482.        printer and the pages will be printed on both sides.
  1483.  
  1484.     ╖  Customer support.  This means you can ask me questions and
  1485.        I will try to answer them and try to help you with whatever
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.                                         31
  1492.  
  1493.  
  1494.          32                 APPENDIX C.  REGISTRATION: WHY BOTHER?
  1495.  
  1496.                problems you might have.  It also means I will really listen to
  1497.                your suggestions and comments.
  1498.  
  1499.  
  1500.          C.3        If  You  Decide  Not  To  Register.
  1501.  
  1502.          This is ok.  You are stuck with the plain ASCII text version of the
  1503.          manual that came with the package and are entirely on your own if
  1504.          you have problems or questions.  I will also "turn a deaf ear" to any
  1505.          suggestion or comments.
  1506.  
  1507.  
  1508.          C.4        Why  Not  Simply  Make  It  a  Com-
  1509.  
  1510.                     mercial  Package?
  1511.  
  1512.          Producing a slick, shrink-wrapped commercial package requires a cer-
  1513.          tain amount of investment in time and resources.  It would make the
  1514.          package more costly to the user (much more than the registration fee)
  1515.          and would put me in debt.  If it did not sell I could be stuck with a
  1516.          large debt.  It is posible, if this package is extremly popular, that a
  1517.          commercial version might be produced.  As a shareware package, the
  1518.          Home Librarian package can be distributed widely at low cost.  A lot
  1519.          of people can get a chance to try it out without having to pay.  If
  1520.          the package proves to be usefull, people can choose to pay the modest
  1521.          registration fee and get a nice manual and customer support.
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533. Appendix  D
  1534.  
  1535.  
  1536.  
  1537. Registration  Form.
  1538.  
  1539.  
  1540.  
  1541.  
  1542. This is the Shareware Registration Form for1the Home Librarian pack-
  1543. age. Copy this form and mail it with $25.00  to:
  1544.                          Robert Heller
  1545.                          D/B/A Deepwoods Software
  1546.                          HC82 Box 29
  1547.                          Lock Hill 1
  1548.                          Wendell, MA 01379
  1549.                          USA
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569. _________________________________
  1570.    1Check or money order, in USA funds, made payable to "Robert Heller".
  1571.  
  1572.                                         33
  1573.  
  1574.  
  1575. 34                             APPENDIX D.  REGISTRATION FORM.
  1576.  
  1577.  
  1578.                        Figure D.1: Registration Form
  1579. ___________________________________________________________________________________
  1580. Please answer all 5 of the following questions:
  1581.  
  1582. 1. Your name: _________________________________________________________________
  1583.  
  1584. 2. Your mailing address: ____________________________________________________
  1585.                          ____________________________________________________
  1586.                          ____________________________________________________
  1587.  
  1588. 3. Your e-mail address(es): __________________________________________________
  1589.                             __________________________________________________
  1590.                             __________________________________________________
  1591.                                                 ___      ___
  1592. 4. Which operating system are you using: MS-DOS |__| OSK |__|
  1593.  
  1594. 5. Name of BBS or information serivce you downloaded the Home Li-
  1595.       brarian from: ____________________________________________________________
  1596.  
  1597. The remaining questions are optional. You don't have to answer any of
  1598. the, but please try to answer as many as you feel like. These answers
  1599. will help me to make improvements in the Home Librarian package.
  1600.  
  1601. 6. Percentages of items in your library are:
  1602.       Printed materials (books_and magazines):          ___            ___
  1603.       0 to 20 |__| 21 to 40 |__| 41 to 60 |__| 61 to 80 |__| 81 to 100 |__|
  1604.       Audio materials (albums,_CDs, DATs, audio cassettes,_8-tracks):  ___
  1605.       0 to 20 |__| 21 to 40 |__| 41 to 60 |__| 61 to 80 |__| 81 to 100 |__|
  1606.       Video materials (VHS, Beta, 8mm, laser_disks):    ___            ___
  1607.       0 to 20 |__| 21 to 40 |__| 41 to 60 |__| 61 to 80 |__| 81 to 100 |__|
  1608.  
  1609. 7. What  do  you  like  about  the  user  interface  of  EditLibr  and
  1610.       Librarian? _____________________________________________________________
  1611.  
  1612. 8. What do you not like about the user interface of EditLibr and
  1613.       Librarian? _____________________________________________________________
  1614.  
  1615. ___________________________________________________________________________________
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625. Index
  1626.  
  1627.  
  1628.  
  1629. card, 1                                           form, 34
  1630.      description, 1                               What you get, 31
  1631.      editing, 11
  1632.      finding, 15                             shareware
  1633. card catalog db, 1                                What is, 31
  1634.      compressing, 26
  1635.      converting to text, 26                  warranty, 28
  1636.      editing, 7
  1637.      index pages in, 7, 26
  1638.      printing cards from, 17
  1639.      printing labels from, 21
  1640.      searching, 13
  1641. copyright, 27
  1642.  
  1643. GUI (Graphical User Interface),
  1644.          4
  1645.      card editor screen, 12
  1646.        key bindings in, 11
  1647.      editor main menu, 9
  1648.      librarian main menu, 14
  1649.  
  1650. Label Template File, 21
  1651.      field replacement in, 22
  1652. license, 27
  1653.  
  1654. -only expression, 17
  1655.      examples of, 17--19
  1656.      field types in, 19
  1657.      operators in, 18
  1658.  
  1659. registration
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.                                         35
  1667.  
  1668.