Home » CEEFAX disks » telesoftware1.adl » DBTXT

DBTXT

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware1.adl
Filename: DBTXT
Read OK:
File size: 5516 bytes
Load address: 0000
Exec address: FFFFFFFF
File contents

                     A DATA-BASE SYSTEM by ROB ANDERSON.



    INTRODUCTION 
     
         This data base program enables a collection of records (of any 
    format) to be processed in a variety of ways, and should provide a 
    good introduction into the use of data-base systems in general. By 
    following the BASIC program listing it should also give the reader an 
    insight into how such a system works, and ultimately how to go about 
    writing a system of your own. 
     
         The actual data that goes to make up the data-file is held in 
    computer memory, which does restrict the amount of data that can be 
    stored in one file, but by using this method very fast access times to 
    the data are achieved (e.g. with searches etc.), and it also provides 
    a good way for tape users to store a reasonable amount of records 
    without having to wait a long time for it all to load. 
     
         Thus, in summary, this system could be of use to : 
     
         i) Tape and disc users who require a small but fast data-base 
    system to store for example names, addresses and telephone numbers, of 
    which roughly 200 names etc may be stored using a reasonably sized 
    record format. 
     
         ii) Someone who has never used a data-base system before, and is 
    wanting some experience with a small system so as to obtain a better 
    understanding of the basic principles involved. 
     
         iii) From the programming point of view there is a full 
    description of the routines etc. included in this article, which may 
    help someone to write a system of there own. 
     
    WHAT DATABASE DOES : 
     
         As the name suggests, this program is a data base that enables 
    pieces of data to be saved and recalled and, once entered, this data 
    can be processed in many different ways that are described later. The 
    types of data entered are up to you, but for example the system could 
    hold names, addresses and phone numbers, which could then be recalled 
    whenever you want. Before going on, I will now explain what exactly a 
    data file is, which will make the rest of the article easier to 
    follow. 
     
         Still using our example of a names file, a typical entry (which 
    is called a RECORD), may be : 
     
    RECORD 1 
    --------------------------- 
    NAME : BOB ANDERSON 
     
    ADDRESS : 13 BACKERS FIELD, 
              MARTON, 
              THE BORO, 
              ENGLAND. 
     
    PHONE NOS: (0123) 456789 
    --------------------------- 
     
         The strings "NAME :", "ADDRESS :", and "PHONE NOS :" are the 
    FIELD TITLES, which remain constant once the file has been set up. 
          


                                    Page 1





                     A DATA-BASE SYSTEM by ROB ANDERSON.



         After the field titles have been defined, you then have to define 
    the field lengths, which means the amount of characters that may be 
    needed to hold, for example, an address. In the above example, a good 
    field length for the field title "NAME :" would be about 20, because 
    it would be unlikely to have a name with more than 20 characters in 
    it. 
          
         As a summary then, DATABASE enables you to firstly enter the 
    field titles and field lengths that are wanted for the file, and once 
    set up, the user can then enter records into the file. 
     
    SCREEN LAYOUT : 
     
         The program uses MODE7 to work in, thus leaving plenty of memory 
    for the data file. The screen is split up into three main areas. The 
    top part of the screen gives details of the commands available, and 
    whenever a command is selected, a more detailed explanation is given. 
          
         The middle part of the screen is used to display the currently 
    selected record, while the bottom of the screen gives details about 
    the current data file, including the amount of records currently in 
    the file, the remaining memory space, the last filename entered and 
    the record number of the record that is currently being displayed. 
     
    DATABASE COMMANDS : 
     
         As well as enabling a file to be created, DATABASE also supports 
    certain commands that can do various things to the records that have 
    been entered. The commands are accessed by simply pressing the 
    appropriate key, upon which you will be given information about how to 
    use the command and what it does. If you try to use a command that 
    cannot be used at that moment (e.g. if you try to add a record to a 
    file that does not exist), the program will inform you, and also give 
    you a hint as to what might have gone wrong, and how to remedy the 
    problem. The program is very user friendly in this respect, and 
    because of this you should soon learn how to use the program to its 
    fullest potential. Do not worry about crashing the program due to, for 
    example, an illegal operating system call because there is an error 
    checking routine that traps any errors, reports them, and then returns 
    control back to the program without losing the data file that was 
    currently in memory (if there was one). 
     
         The commands available are : 
     
         (A) ADD     - add a record. 
         (B) BACK    - backstep through the file. 
         (D) DELETE  - delete a record. 
         (E) EDIT    - edit a record. 
         (F) FORWARD - forwardstep through the file. 
         (H) HELP    - gives details of commands. 
         (K) KEEP    - save the file. 
         (L) LOAD    - load the file. 
         (N) NEW     - define new file. 
         (O) ORDER   - re-arrange file. 
         (*) *OS     - enter OS command. 
         (P) PRINT   - send file to printer. 
         (R) RESET   - reset DATABASE. 
         (S) SEARCH  - search for a record. 
     
         As mentioned before, DATABASE is very user-friendly, and you 


                                    Page 2





                     A DATA-BASE SYSTEM by ROB ANDERSON.



    should have no problems using the commands, but in case there are a 
    few points that are still not clear when using the program, an 
    explanation is now given of all the commands. 
     
    ADD Enables a record to be added to the data file currently in memory. 
      The record added is placed at the end of the file. 
    BACK Whenever B is pressed, the current record number is decremented 
      by one, so that the previous record is displayed on the screen. This 
      command, along with (F) FORWARD, enables the file to be scanned 
      through, a record at a time. 
    DELETE This will delete the record current being displayed on the 
      screen, afterwhich the file will be compacted. Because this commmand 
      is irreversable in its effect, you are first asked if you really 
      want to go ahead and delete the record. 
    EDIT This command will enable the displayed record to be edited, 
      enabling mistakes etc. to be corrected. 
    FORWARD Enables the records to be scanned in a forward direction (see 
      BACK). 
    HELP This command is very usefull because it gives a summary of all 
      the commands and what they do. 
    KEEP Results in the data file in memory being saved to the currently 
      active filing system, which can then be loaded in using LOAD. 
    LOAD Enables a previously saved file to be loaded in from a filing 
      system. After typing in the filename of the data file, you will also 
      have to type in the password that has previously been given to the 
      file, and only when the correct password has been entered will the 
      rest of the file be loaded in. When typing in the password, it will 
      not be printed up on the screen so as to prevent anyone else seeing 
      it! If an attempt is made to load a data file that was not created 
      by DATABASE, the file will be rejected. 
    NEW This command enables a new file to be created, provided there is 
      not a file already in memory upon which it will have to be deleted 
      using RESET. When defining a file, the first thing that must be done 
      is to define the field titles, afterwhich the field lengths must be 
      entered. Great care must be made when defining these because they 
      cannot be later changed. You should not have any problems setting up 
      a file because the program gives all the details about how to go 
      about it. Finally you will be asked for a password that is to go 
      with the file, which will stop any unathourised people from seeing 
      your info.. (but make sure you remember the password or you won't be 
      able to see your file either!). 
    ORDER This can swap two records with each other, which enables you to 
      move the records around the file so as to put them in the order you 
      want them. When you use the command, you will be asked for two 
      record numbers, which are the two to be swapped. 
    *OS To access this command simply keep SHIFT pressed and then hit the 
      * key. A * will then come onto the screen, afterwhich you can enter 
      your operating system command. This enables you to do things such as 
      cataloging a disc (*CAT), or selecting a filing system (*DISC, *TAPE 
      etc). For more details of operating system commands, see page 416 of 
      the user guide. 
    PRINT If a printer is connected to your computer you will be able to 
      get a hard copy of a single record, or the whole file. When printing 
      out all the records, you will be asked for an inter-record space 
      character which will be printed in a long line to seperate each 
      record on the paper (a suitable character is a '-'). 
    RESET When you press 'R' this wipes the memory where the current file 
      is stored, thus wiping out the file. Use this command carefully, and 
      make sure that you have saved the file before using RESET. 
    SEARCH This command enables you to find a record quickly by asking for 


                                    Page 3





                     A DATA-BASE SYSTEM by ROB ANDERSON.



      a search record, afterwhich it will search the file for another 
      record that is the closest match. Upon deciding which is the best 
      bet, it will print out the closest matching record. So, for example, 
      if you wanted to know Mike's phone number, you would enter Mike into 
      the name field, and then the computer would come up with the rest of 
      his record. If there were two Mike's in the file then you would have 
      to specify his second name in the search record (i.e. MIKE DIXON). 
     






















































                                    Page 4





                     A DATA-BASE SYSTEM by ROB ANDERSON.



     
    TECHNICAL POINTS OF THE PROGRAM : 
     
         DATABASE is written the way most programs are; a big main program 
    loop at the beginning, followed by loads of procedures that are called 
    up from this loop. Because of this the program is quite easy to 
    follow, with each command being allocated a separate subroutine (see 
    list of procedures). Where speed is important (e.g. when printing a 
    record while scanning), the program has been coded accordingly, using 
    integer variables etc.. 
     
         The coding to perform each of the features is fairly standard, 
    but with a few exceptions; the save and load functions do their job by 
    saving the file as one big block of memory (i.e using *LOAD and 
    *SAVE), which initially poses a problem because you cannot specify a 
    filename in a variable in this case, so a string had to be built up in 
    memory, and then passed onto the command line interpreter (at &FFF7). 
         Although in BASIC2 the command OSCLI could be used, the way it is 
    ensures compatibility with BASIC1. Another unusual point of the 
    program is the extensive use of indirection operators to store the 
    records directly in memory which, while very laborious to program in 
    when compared to the ease of use of arrays, does have its relevant 
    merits that are explained later. 
     
         It can be seen that *FX200,1 and *FX200,0 are used a lot, which 
    enable and disable the ESCAPE key. The reason is that while the escape 
    key works most of the time, enabling you to get out of a command that 
    you accidently entered, it could be dangerous to escape when, for 
    example, deleting a record because if ESCAPE was pressed while the 
    program was shifting all the following records on top of the deleted 
    record, the whole file could be corrupted. So to prevent this the 
    escape key is disabled just before the routine is entered, and then 
    enabled after leaving the routine. This is done with most of the 
    routines. 
     
         The search routine used in the program works on a token basis, 
    giving points for each field of a record that matches with the search 
    record, and then printing out the record that got most points. If two 
    records get the same points, the first one encountered in the file is 
    output, and because of this it is always best to put as much 
    information in the search record as you can remember. 
     
     
    PROCEDURES   LINE NOS  DESCRIPTION 
     
    initialise   310       Initialises variables etc.. 
    checkerror   370       Analyses error & reacts acordingly. 
    setscreen    390       Sets up screen. 
    a            480       Performs ADD command. 
    b            620       Performs BACK command. 
    d            690       Performs DELETE command. 
    e            870       Performs EDIT command. 
    f            1120      Performs FORWARD command. 
    h            1190      Performs HELP command. 
    k            1220      Performs KEEP command. 
    l            1290      Performs LOAD command. 
    n            1390      Performs NEW command. 
    o            1770      Performs *OS command. 
    p            1810      Performs PRINT command. 
    s            1980      Performs SEARCH command. 


                                    Page 5





                     A DATA-BASE SYSTEM by ROB ANDERSON.



    r            2230      Performs RESET command. 
    or           2250      Performs ORDER command. 
    topw         2390      Sets top text window. 
    botw         2410      Sets bottom text window. 
    options      2430      Prints out commands available in                
                           the top text window. 
    title        2450      Prints command that has just been               
                           selected in a 'pretty' blue box! 
    sp           2470      Asks user to press the space bar to             
                           continue. 
    sure         2490      Asks if you really want to                      
                           continue. If so 'ss'=0, otherwise               
                           'ss'=1. 
    clear        2520      Wipes file memory. 
    precord      2570      Prints the current record held in               
                           'record'. 
    pfield       2730      Prints the field titles of the                  
                           file. 
    gfname       2810      Asks the user for a filename. 
    exist        2850      Tells the user that a file already              
                           exists. 
    nrecord      2890      Tells the user that there are no                
                           records currently in the file. 
    getbytes(G)  2910      Gets the contents of a two byte                 
                           number (G is the first byte minus               
                           'starta'), and places the result                
                           in 'H'. 
    putbytes(G)  2930      Puts the value of 'H' in two memory             
                           bytes starting at 'G+starta'. 
    oscli(A$)    2950      Passes 'A$' onto the command line               
                           interpreter. This routine will work             
                           in BASIC 1 and BASIC 2. 
    inputrec1    2970      Inputs a record from the keyboard               
                           into a string. 
     
    IMPORTANT VARIABLES            DESCRIPTION 
     
    A%,B%,C%,D%,E%,F%,G%,X%,Y%     USED IN VARIOUS LOOPS. 
    A,B,C,D,E,F,G,H,I,J,K          USED IN VARIOUS LOOPS. 
    flag                           Used to flag certain events. 
    flag2                          Used to flag certain events. 
    record                         Holds record number that is currently 
                                    being displayed. 
    ss                             A flag for PROCEDURE 'sure' 
    starta                         Points at start of memory for the file. 
    A$,B$,C$                       Used for various string handling 
                                    routines. 
    file$                          Holds last filename entered. 
    f$(16),le(16),len(16)          Used to hold a record as a string. 
     
    FILE FORMAT : 
     
         The records, field titles and field lengths are all kept in 
    memory up above the BASIC program, and are dumped directly there using 
    indirection operators. The reason for this is mainly for memory saving 
    because although string arrays are very nice and easy to use, they 
    tend to take up a lot of memory, which is very important when all the 
    records are in memory at once. 
     
         The actual contents of the file start at the memory location 


                                    Page 6





                     A DATA-BASE SYSTEM by ROB ANDERSON.



    stored in 'starta', where the password, field titles, etc. are kept. 
    After this comes the records themselves which follow on one after the 
    other. 
     
     
    MEMORY USAGE : 
     
         DATABASE is a 10k BASIC program which can be run at any PAGE 
    address less than or equal to &1900. The data file resides at &4500, 
    which is what the program sets HIMEM to, so as to prevent BASIC 
    running into the data file. 
     
         The TOP of the program is at about &4000, which leaves 
    (HIMEM-TOP)=1k bytes for variable storage. The top of user memory is 
    &7C00, so this leaves (&7C00-&4500)=14k bytes of memory free for the 
    data file, which means that typically about 200 records of 5 fields of 
    10 characters per field can be entered, which is quite a useful size. 
     
    MEMORY USAGE SUMMARY : 
     
                          .                    . 
                          .                    . 
                          .       MODE 7       . 
                          .                    . 
                          _________________E there are a few little tips that can make it 
    easier and more efficient to use. 
     
         When defining a NEW record, think carefully about how to define 
    it because once set out, it cannot be changed which means that if you 
    have entered say 100 records, and then find out that you need another 
    field for certain entries, you will have to type the whole file in 
    again! Because of this, it is also a good idea to have a field called 


                                    Page 7





                     A DATA-BASE SYSTEM by ROB ANDERSON.



    'ANYTHING ELSE' or 'MISCELLANEOUS', for records that may have unusual 
    entries. 
     
         When entering your field titles, you can still use the function 
    keys to get MODE 7 coloured characters, which enables you to set up a 
    file that stands out well, making it easier and more colourful to use 
    (although you may get funny noises coming from your printer when 
    printing a record!). 
     
         If you have no need for security precautions, use the password 
    'DATABASE' for your file, as this is suggested by the program which 
    makes it impossible for you to forget! 
     
         As a finally note, ALWAYS KEEP COPIES OF YOUR DATA FILES, because 
    if you don't you'll have to learn the hard way, so be warned! 
     
     
     
     
     
     
     
     
     
     
                                       R.S.ANDERSON. JAN 1987. 




































                                    Page 8



00000000  0d 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000010  20 20 20 20 20 20 20 41  20 44 41 54 41 2d 42 41  |       A DATA-BA|
00000020  53 45 20 53 59 53 54 45  4d 20 62 79 20 52 4f 42  |SE SYSTEM by ROB|
00000030  20 41 4e 44 45 52 53 4f  4e 2e 0d 0d 0d 0d 20 20  | ANDERSON.....  |
00000040  20 20 49 4e 54 52 4f 44  55 43 54 49 4f 4e 20 0d  |  INTRODUCTION .|
00000050  20 20 20 20 20 0d 20 20  20 20 20 20 20 20 20 54  |     .         T|
00000060  68 69 73 20 64 61 74 61  20 62 61 73 65 20 70 72  |his data base pr|
00000070  6f 67 72 61 6d 20 65 6e  61 62 6c 65 73 20 61 20  |ogram enables a |
00000080  63 6f 6c 6c 65 63 74 69  6f 6e 20 6f 66 20 72 65  |collection of re|
00000090  63 6f 72 64 73 20 28 6f  66 20 61 6e 79 20 0d 20  |cords (of any . |
000000a0  20 20 20 66 6f 72 6d 61  74 29 20 74 6f 20 62 65  |   format) to be|
000000b0  20 70 72 6f 63 65 73 73  65 64 20 69 6e 20 61 20  | processed in a |
000000c0  76 61 72 69 65 74 79 20  6f 66 20 77 61 79 73 2c  |variety of ways,|
000000d0  20 61 6e 64 20 73 68 6f  75 6c 64 20 70 72 6f 76  | and should prov|
000000e0  69 64 65 20 61 20 0d 20  20 20 20 67 6f 6f 64 20  |ide a .    good |
000000f0  69 6e 74 72 6f 64 75 63  74 69 6f 6e 20 69 6e 74  |introduction int|
00000100  6f 20 74 68 65 20 75 73  65 20 6f 66 20 64 61 74  |o the use of dat|
00000110  61 2d 62 61 73 65 20 73  79 73 74 65 6d 73 20 69  |a-base systems i|
00000120  6e 20 67 65 6e 65 72 61  6c 2e 20 42 79 20 0d 20  |n general. By . |
00000130  20 20 20 66 6f 6c 6c 6f  77 69 6e 67 20 74 68 65  |   following the|
00000140  20 42 41 53 49 43 20 70  72 6f 67 72 61 6d 20 6c  | BASIC program l|
00000150  69 73 74 69 6e 67 20 69  74 20 73 68 6f 75 6c 64  |isting it should|
00000160  20 61 6c 73 6f 20 67 69  76 65 20 74 68 65 20 72  | also give the r|
00000170  65 61 64 65 72 20 61 6e  20 0d 20 20 20 20 69 6e  |eader an .    in|
00000180  73 69 67 68 74 20 69 6e  74 6f 20 68 6f 77 20 73  |sight into how s|
00000190  75 63 68 20 61 20 73 79  73 74 65 6d 20 77 6f 72  |uch a system wor|
000001a0  6b 73 2c 20 61 6e 64 20  75 6c 74 69 6d 61 74 65  |ks, and ultimate|
000001b0  6c 79 20 68 6f 77 20 74  6f 20 67 6f 20 61 62 6f  |ly how to go abo|
000001c0  75 74 20 0d 20 20 20 20  77 72 69 74 69 6e 67 20  |ut .    writing |
000001d0  61 20 73 79 73 74 65 6d  20 6f 66 20 79 6f 75 72  |a system of your|
000001e0  20 6f 77 6e 2e 20 0d 20  20 20 20 20 0d 20 20 20  | own. .     .   |
000001f0  20 20 20 20 20 20 54 68  65 20 61 63 74 75 61 6c  |      The actual|
00000200  20 64 61 74 61 20 74 68  61 74 20 67 6f 65 73 20  | data that goes |
00000210  74 6f 20 6d 61 6b 65 20  75 70 20 74 68 65 20 64  |to make up the d|
00000220  61 74 61 2d 66 69 6c 65  20 69 73 20 68 65 6c 64  |ata-file is held|
00000230  20 69 6e 20 0d 20 20 20  20 63 6f 6d 70 75 74 65  | in .    compute|
00000240  72 20 6d 65 6d 6f 72 79  2c 20 77 68 69 63 68 20  |r memory, which |
00000250  64 6f 65 73 20 72 65 73  74 72 69 63 74 20 74 68  |does restrict th|
00000260  65 20 61 6d 6f 75 6e 74  20 6f 66 20 64 61 74 61  |e amount of data|
00000270  20 74 68 61 74 20 63 61  6e 20 62 65 20 0d 20 20  | that can be .  |
00000280  20 20 73 74 6f 72 65 64  20 69 6e 20 6f 6e 65 20  |  stored in one |
00000290  66 69 6c 65 2c 20 62 75  74 20 62 79 20 75 73 69  |file, but by usi|
000002a0  6e 67 20 74 68 69 73 20  6d 65 74 68 6f 64 20 76  |ng this method v|
000002b0  65 72 79 20 66 61 73 74  20 61 63 63 65 73 73 20  |ery fast access |
000002c0  74 69 6d 65 73 20 74 6f  20 0d 20 20 20 20 74 68  |times to .    th|
000002d0  65 20 64 61 74 61 20 61  72 65 20 61 63 68 69 65  |e data are achie|
000002e0  76 65 64 20 28 65 2e 67  2e 20 77 69 74 68 20 73  |ved (e.g. with s|
000002f0  65 61 72 63 68 65 73 20  65 74 63 2e 29 2c 20 61  |earches etc.), a|
00000300  6e 64 20 69 74 20 61 6c  73 6f 20 70 72 6f 76 69  |nd it also provi|
00000310  64 65 73 20 0d 20 20 20  20 61 20 67 6f 6f 64 20  |des .    a good |
00000320  77 61 79 20 66 6f 72 20  74 61 70 65 20 75 73 65  |way for tape use|
00000330  72 73 20 74 6f 20 73 74  6f 72 65 20 61 20 72 65  |rs to store a re|
00000340  61 73 6f 6e 61 62 6c 65  20 61 6d 6f 75 6e 74 20  |asonable amount |
00000350  6f 66 20 72 65 63 6f 72  64 73 20 0d 20 20 20 20  |of records .    |
00000360  77 69 74 68 6f 75 74 20  68 61 76 69 6e 67 20 74  |without having t|
00000370  6f 20 77 61 69 74 20 61  20 6c 6f 6e 67 20 74 69  |o wait a long ti|
00000380  6d 65 20 66 6f 72 20 69  74 20 61 6c 6c 20 74 6f  |me for it all to|
00000390  20 6c 6f 61 64 2e 20 0d  20 20 20 20 20 0d 20 20  | load. .     .  |
000003a0  20 20 20 20 20 20 20 54  68 75 73 2c 20 69 6e 20  |       Thus, in |
000003b0  73 75 6d 6d 61 72 79 2c  20 74 68 69 73 20 73 79  |summary, this sy|
000003c0  73 74 65 6d 20 63 6f 75  6c 64 20 62 65 20 6f 66  |stem could be of|
000003d0  20 75 73 65 20 74 6f 20  3a 20 0d 20 20 20 20 20  | use to : .     |
000003e0  0d 20 20 20 20 20 20 20  20 20 69 29 20 54 61 70  |.         i) Tap|
000003f0  65 20 61 6e 64 20 64 69  73 63 20 75 73 65 72 73  |e and disc users|
00000400  20 77 68 6f 20 72 65 71  75 69 72 65 20 61 20 73  | who require a s|
00000410  6d 61 6c 6c 20 62 75 74  20 66 61 73 74 20 64 61  |mall but fast da|
00000420  74 61 2d 62 61 73 65 20  0d 20 20 20 20 73 79 73  |ta-base .    sys|
00000430  74 65 6d 20 74 6f 20 73  74 6f 72 65 20 66 6f 72  |tem to store for|
00000440  20 65 78 61 6d 70 6c 65  20 6e 61 6d 65 73 2c 20  | example names, |
00000450  61 64 64 72 65 73 73 65  73 20 61 6e 64 20 74 65  |addresses and te|
00000460  6c 65 70 68 6f 6e 65 20  6e 75 6d 62 65 72 73 2c  |lephone numbers,|
00000470  20 6f 66 20 0d 20 20 20  20 77 68 69 63 68 20 72  | of .    which r|
00000480  6f 75 67 68 6c 79 20 32  30 30 20 6e 61 6d 65 73  |oughly 200 names|
00000490  20 65 74 63 20 6d 61 79  20 62 65 20 73 74 6f 72  | etc may be stor|
000004a0  65 64 20 75 73 69 6e 67  20 61 20 72 65 61 73 6f  |ed using a reaso|
000004b0  6e 61 62 6c 79 20 73 69  7a 65 64 20 0d 20 20 20  |nably sized .   |
000004c0  20 72 65 63 6f 72 64 20  66 6f 72 6d 61 74 2e 20  | record format. |
000004d0  0d 20 20 20 20 20 0d 20  20 20 20 20 20 20 20 20  |.     .         |
000004e0  69 69 29 20 53 6f 6d 65  6f 6e 65 20 77 68 6f 20  |ii) Someone who |
000004f0  68 61 73 20 6e 65 76 65  72 20 75 73 65 64 20 61  |has never used a|
00000500  20 64 61 74 61 2d 62 61  73 65 20 73 79 73 74 65  | data-base syste|
00000510  6d 20 62 65 66 6f 72 65  2c 20 61 6e 64 20 69 73  |m before, and is|
00000520  20 0d 20 20 20 20 77 61  6e 74 69 6e 67 20 73 6f  | .    wanting so|
00000530  6d 65 20 65 78 70 65 72  69 65 6e 63 65 20 77 69  |me experience wi|
00000540  74 68 20 61 20 73 6d 61  6c 6c 20 73 79 73 74 65  |th a small syste|
00000550  6d 20 73 6f 20 61 73 20  74 6f 20 6f 62 74 61 69  |m so as to obtai|
00000560  6e 20 61 20 62 65 74 74  65 72 20 0d 20 20 20 20  |n a better .    |
00000570  75 6e 64 65 72 73 74 61  6e 64 69 6e 67 20 6f 66  |understanding of|
00000580  20 74 68 65 20 62 61 73  69 63 20 70 72 69 6e 63  | the basic princ|
00000590  69 70 6c 65 73 20 69 6e  76 6f 6c 76 65 64 2e 20  |iples involved. |
000005a0  0d 20 20 20 20 20 0d 20  20 20 20 20 20 20 20 20  |.     .         |
000005b0  69 69 69 29 20 46 72 6f  6d 20 74 68 65 20 70 72  |iii) From the pr|
000005c0  6f 67 72 61 6d 6d 69 6e  67 20 70 6f 69 6e 74 20  |ogramming point |
000005d0  6f 66 20 76 69 65 77 20  74 68 65 72 65 20 69 73  |of view there is|
000005e0  20 61 20 66 75 6c 6c 20  0d 20 20 20 20 64 65 73  | a full .    des|
000005f0  63 72 69 70 74 69 6f 6e  20 6f 66 20 74 68 65 20  |cription of the |
00000600  72 6f 75 74 69 6e 65 73  20 65 74 63 2e 20 69 6e  |routines etc. in|
00000610  63 6c 75 64 65 64 20 69  6e 20 74 68 69 73 20 61  |cluded in this a|
00000620  72 74 69 63 6c 65 2c 20  77 68 69 63 68 20 6d 61  |rticle, which ma|
00000630  79 20 0d 20 20 20 20 68  65 6c 70 20 73 6f 6d 65  |y .    help some|
00000640  6f 6e 65 20 74 6f 20 77  72 69 74 65 20 61 20 73  |one to write a s|
00000650  79 73 74 65 6d 20 6f 66  20 74 68 65 72 65 20 6f  |ystem of there o|
00000660  77 6e 2e 20 0d 20 20 20  20 20 0d 20 20 20 20 57  |wn. .     .    W|
00000670  48 41 54 20 44 41 54 41  42 41 53 45 20 44 4f 45  |HAT DATABASE DOE|
00000680  53 20 3a 20 0d 20 20 20  20 20 0d 20 20 20 20 20  |S : .     .     |
00000690  20 20 20 20 41 73 20 74  68 65 20 6e 61 6d 65 20  |    As the name |
000006a0  73 75 67 67 65 73 74 73  2c 20 74 68 69 73 20 70  |suggests, this p|
000006b0  72 6f 67 72 61 6d 20 69  73 20 61 20 64 61 74 61  |rogram is a data|
000006c0  20 62 61 73 65 20 74 68  61 74 20 65 6e 61 62 6c  | base that enabl|
000006d0  65 73 20 0d 20 20 20 20  70 69 65 63 65 73 20 6f  |es .    pieces o|
000006e0  66 20 64 61 74 61 20 74  6f 20 62 65 20 73 61 76  |f data to be sav|
000006f0  65 64 20 61 6e 64 20 72  65 63 61 6c 6c 65 64 20  |ed and recalled |
00000700  61 6e 64 2c 20 6f 6e 63  65 20 65 6e 74 65 72 65  |and, once entere|
00000710  64 2c 20 74 68 69 73 20  64 61 74 61 20 0d 20 20  |d, this data .  |
00000720  20 20 63 61 6e 20 62 65  20 70 72 6f 63 65 73 73  |  can be process|
00000730  65 64 20 69 6e 20 6d 61  6e 79 20 64 69 66 66 65  |ed in many diffe|
00000740  72 65 6e 74 20 77 61 79  73 20 74 68 61 74 20 61  |rent ways that a|
00000750  72 65 20 64 65 73 63 72  69 62 65 64 20 6c 61 74  |re described lat|
00000760  65 72 2e 20 54 68 65 20  0d 20 20 20 20 74 79 70  |er. The .    typ|
00000770  65 73 20 6f 66 20 64 61  74 61 20 65 6e 74 65 72  |es of data enter|
00000780  65 64 20 61 72 65 20 75  70 20 74 6f 20 79 6f 75  |ed are up to you|
00000790  2c 20 62 75 74 20 66 6f  72 20 65 78 61 6d 70 6c  |, but for exampl|
000007a0  65 20 74 68 65 20 73 79  73 74 65 6d 20 63 6f 75  |e the system cou|
000007b0  6c 64 20 0d 20 20 20 20  68 6f 6c 64 20 6e 61 6d  |ld .    hold nam|
000007c0  65 73 2c 20 61 64 64 72  65 73 73 65 73 20 61 6e  |es, addresses an|
000007d0  64 20 70 68 6f 6e 65 20  6e 75 6d 62 65 72 73 2c  |d phone numbers,|
000007e0  20 77 68 69 63 68 20 63  6f 75 6c 64 20 74 68 65  | which could the|
000007f0  6e 20 62 65 20 72 65 63  61 6c 6c 65 64 20 0d 20  |n be recalled . |
00000800  20 20 20 77 68 65 6e 65  76 65 72 20 79 6f 75 20  |   whenever you |
00000810  77 61 6e 74 2e 20 42 65  66 6f 72 65 20 67 6f 69  |want. Before goi|
00000820  6e 67 20 6f 6e 2c 20 49  20 77 69 6c 6c 20 6e 6f  |ng on, I will no|
00000830  77 20 65 78 70 6c 61 69  6e 20 77 68 61 74 20 65  |w explain what e|
00000840  78 61 63 74 6c 79 20 61  20 0d 20 20 20 20 64 61  |xactly a .    da|
00000850  74 61 20 66 69 6c 65 20  69 73 2c 20 77 68 69 63  |ta file is, whic|
00000860  68 20 77 69 6c 6c 20 6d  61 6b 65 20 74 68 65 20  |h will make the |
00000870  72 65 73 74 20 6f 66 20  74 68 65 20 61 72 74 69  |rest of the arti|
00000880  63 6c 65 20 65 61 73 69  65 72 20 74 6f 20 0d 20  |cle easier to . |
00000890  20 20 20 66 6f 6c 6c 6f  77 2e 20 0d 20 20 20 20  |   follow. .    |
000008a0  20 0d 20 20 20 20 20 20  20 20 20 53 74 69 6c 6c  | .         Still|
000008b0  20 75 73 69 6e 67 20 6f  75 72 20 65 78 61 6d 70  | using our examp|
000008c0  6c 65 20 6f 66 20 61 20  6e 61 6d 65 73 20 66 69  |le of a names fi|
000008d0  6c 65 2c 20 61 20 74 79  70 69 63 61 6c 20 65 6e  |le, a typical en|
000008e0  74 72 79 20 28 77 68 69  63 68 20 0d 20 20 20 20  |try (which .    |
000008f0  69 73 20 63 61 6c 6c 65  64 20 61 20 52 45 43 4f  |is called a RECO|
00000900  52 44 29 2c 20 6d 61 79  20 62 65 20 3a 20 0d 20  |RD), may be : . |
00000910  20 20 20 20 0d 20 20 20  20 52 45 43 4f 52 44 20  |    .    RECORD |
00000920  31 20 0d 20 20 20 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |1 .    ---------|
00000930  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000940  2d 2d 20 0d 20 20 20 20  4e 41 4d 45 20 3a 20 42  |-- .    NAME : B|
00000950  4f 42 20 41 4e 44 45 52  53 4f 4e 20 0d 20 20 20  |OB ANDERSON .   |
00000960  20 20 0d 20 20 20 20 41  44 44 52 45 53 53 20 3a  |  .    ADDRESS :|
00000970  20 31 33 20 42 41 43 4b  45 52 53 20 46 49 45 4c  | 13 BACKERS FIEL|
00000980  44 2c 20 0d 20 20 20 20  20 20 20 20 20 20 20 20  |D, .            |
00000990  20 20 4d 41 52 54 4f 4e  2c 20 0d 20 20 20 20 20  |  MARTON, .     |
000009a0  20 20 20 20 20 20 20 20  20 54 48 45 20 42 4f 52  |         THE BOR|
000009b0  4f 2c 20 0d 20 20 20 20  20 20 20 20 20 20 20 20  |O, .            |
000009c0  20 20 45 4e 47 4c 41 4e  44 2e 20 0d 20 20 20 20  |  ENGLAND. .    |
000009d0  20 0d 20 20 20 20 50 48  4f 4e 45 20 4e 4f 53 3a  | .    PHONE NOS:|
000009e0  20 28 30 31 32 33 29 20  34 35 36 37 38 39 20 0d  | (0123) 456789 .|
000009f0  20 20 20 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |    ------------|
00000a00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 20  |--------------- |
00000a10  0d 20 20 20 20 20 0d 20  20 20 20 20 20 20 20 20  |.     .         |
00000a20  54 68 65 20 73 74 72 69  6e 67 73 20 22 4e 41 4d  |The strings "NAM|
00000a30  45 20 3a 22 2c 20 22 41  44 44 52 45 53 53 20 3a  |E :", "ADDRESS :|
00000a40  22 2c 20 61 6e 64 20 22  50 48 4f 4e 45 20 4e 4f  |", and "PHONE NO|
00000a50  53 20 3a 22 20 61 72 65  20 74 68 65 20 0d 20 20  |S :" are the .  |
00000a60  20 20 46 49 45 4c 44 20  54 49 54 4c 45 53 2c 20  |  FIELD TITLES, |
00000a70  77 68 69 63 68 20 72 65  6d 61 69 6e 20 63 6f 6e  |which remain con|
00000a80  73 74 61 6e 74 20 6f 6e  63 65 20 74 68 65 20 66  |stant once the f|
00000a90  69 6c 65 20 68 61 73 20  62 65 65 6e 20 73 65 74  |ile has been set|
00000aa0  20 75 70 2e 20 0d 20 20  20 20 20 20 20 20 20 20  | up. .          |
00000ab0  0d 0d 0d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ad0  20 20 20 20 20 20 20 50  61 67 65 20 31 0d 0d 0d  |       Page 1...|
00000ae0  0d 0d 0d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000af0  20 20 20 20 20 20 20 20  41 20 44 41 54 41 2d 42  |        A DATA-B|
00000b00  41 53 45 20 53 59 53 54  45 4d 20 62 79 20 52 4f  |ASE SYSTEM by RO|
00000b10  42 20 41 4e 44 45 52 53  4f 4e 2e 0d 0d 0d 0d 20  |B ANDERSON..... |
00000b20  20 20 20 20 20 20 20 20  41 66 74 65 72 20 74 68  |        After th|
00000b30  65 20 66 69 65 6c 64 20  74 69 74 6c 65 73 20 68  |e field titles h|
00000b40  61 76 65 20 62 65 65 6e  20 64 65 66 69 6e 65 64  |ave been defined|
00000b50  2c 20 79 6f 75 20 74 68  65 6e 20 68 61 76 65 20  |, you then have |
00000b60  74 6f 20 64 65 66 69 6e  65 20 0d 20 20 20 20 74  |to define .    t|
00000b70  68 65 20 66 69 65 6c 64  20 6c 65 6e 67 74 68 73  |he field lengths|
00000b80  2c 20 77 68 69 63 68 20  6d 65 61 6e 73 20 74 68  |, which means th|
00000b90  65 20 61 6d 6f 75 6e 74  20 6f 66 20 63 68 61 72  |e amount of char|
00000ba0  61 63 74 65 72 73 20 74  68 61 74 20 6d 61 79 20  |acters that may |
00000bb0  62 65 20 0d 20 20 20 20  6e 65 65 64 65 64 20 74  |be .    needed t|
00000bc0  6f 20 68 6f 6c 64 2c 20  66 6f 72 20 65 78 61 6d  |o hold, for exam|
00000bd0  70 6c 65 2c 20 61 6e 20  61 64 64 72 65 73 73 2e  |ple, an address.|
00000be0  20 49 6e 20 74 68 65 20  61 62 6f 76 65 20 65 78  | In the above ex|
00000bf0  61 6d 70 6c 65 2c 20 61  20 67 6f 6f 64 20 0d 20  |ample, a good . |
00000c00  20 20 20 66 69 65 6c 64  20 6c 65 6e 67 74 68 20  |   field length |
00000c10  66 6f 72 20 74 68 65 20  66 69 65 6c 64 20 74 69  |for the field ti|
00000c20  74 6c 65 20 22 4e 41 4d  45 20 3a 22 20 77 6f 75  |tle "NAME :" wou|
00000c30  6c 64 20 62 65 20 61 62  6f 75 74 20 32 30 2c 20  |ld be about 20, |
00000c40  62 65 63 61 75 73 65 20  0d 20 20 20 20 69 74 20  |because .    it |
00000c50  77 6f 75 6c 64 20 62 65  20 75 6e 6c 69 6b 65 6c  |would be unlikel|
00000c60  79 20 74 6f 20 68 61 76  65 20 61 20 6e 61 6d 65  |y to have a name|
00000c70  20 77 69 74 68 20 6d 6f  72 65 20 74 68 61 6e 20  | with more than |
00000c80  32 30 20 63 68 61 72 61  63 74 65 72 73 20 69 6e  |20 characters in|
00000c90  20 0d 20 20 20 20 69 74  2e 20 0d 20 20 20 20 20  | .    it. .     |
00000ca0  20 20 20 20 20 0d 20 20  20 20 20 20 20 20 20 41  |     .         A|
00000cb0  73 20 61 20 73 75 6d 6d  61 72 79 20 74 68 65 6e  |s a summary then|
00000cc0  2c 20 44 41 54 41 42 41  53 45 20 65 6e 61 62 6c  |, DATABASE enabl|
00000cd0  65 73 20 79 6f 75 20 74  6f 20 66 69 72 73 74 6c  |es you to firstl|
00000ce0  79 20 65 6e 74 65 72 20  74 68 65 20 0d 20 20 20  |y enter the .   |
00000cf0  20 66 69 65 6c 64 20 74  69 74 6c 65 73 20 61 6e  | field titles an|
00000d00  64 20 66 69 65 6c 64 20  6c 65 6e 67 74 68 73 20  |d field lengths |
00000d10  74 68 61 74 20 61 72 65  20 77 61 6e 74 65 64 20  |that are wanted |
00000d20  66 6f 72 20 74 68 65 20  66 69 6c 65 2c 20 61 6e  |for the file, an|
00000d30  64 20 6f 6e 63 65 20 0d  20 20 20 20 73 65 74 20  |d once .    set |
00000d40  75 70 2c 20 74 68 65 20  75 73 65 72 20 63 61 6e  |up, the user can|
00000d50  20 74 68 65 6e 20 65 6e  74 65 72 20 72 65 63 6f  | then enter reco|
00000d60  72 64 73 20 69 6e 74 6f  20 74 68 65 20 66 69 6c  |rds into the fil|
00000d70  65 2e 20 0d 20 20 20 20  20 0d 20 20 20 20 53 43  |e. .     .    SC|
00000d80  52 45 45 4e 20 4c 41 59  4f 55 54 20 3a 20 0d 20  |REEN LAYOUT : . |
00000d90  20 20 20 20 0d 20 20 20  20 20 20 20 20 20 54 68  |    .         Th|
00000da0  65 20 70 72 6f 67 72 61  6d 20 75 73 65 73 20 4d  |e program uses M|
00000db0  4f 44 45 37 20 74 6f 20  77 6f 72 6b 20 69 6e 2c  |ODE7 to work in,|
00000dc0  20 74 68 75 73 20 6c 65  61 76 69 6e 67 20 70 6c  | thus leaving pl|
00000dd0  65 6e 74 79 20 6f 66 20  6d 65 6d 6f 72 79 20 0d  |enty of memory .|
00000de0  20 20 20 20 66 6f 72 20  74 68 65 20 64 61 74 61  |    for the data|
00000df0  20 66 69 6c 65 2e 20 54  68 65 20 73 63 72 65 65  | file. The scree|
00000e00  6e 20 69 73 20 73 70 6c  69 74 20 75 70 20 69 6e  |n is split up in|
00000e10  74 6f 20 74 68 72 65 65  20 6d 61 69 6e 20 61 72  |to three main ar|
00000e20  65 61 73 2e 20 54 68 65  20 0d 20 20 20 20 74 6f  |eas. The .    to|
00000e30  70 20 70 61 72 74 20 6f  66 20 74 68 65 20 73 63  |p part of the sc|
00000e40  72 65 65 6e 20 67 69 76  65 73 20 64 65 74 61 69  |reen gives detai|
00000e50  6c 73 20 6f 66 20 74 68  65 20 63 6f 6d 6d 61 6e  |ls of the comman|
00000e60  64 73 20 61 76 61 69 6c  61 62 6c 65 2c 20 61 6e  |ds available, an|
00000e70  64 20 0d 20 20 20 20 77  68 65 6e 65 76 65 72 20  |d .    whenever |
00000e80  61 20 63 6f 6d 6d 61 6e  64 20 69 73 20 73 65 6c  |a command is sel|
00000e90  65 63 74 65 64 2c 20 61  20 6d 6f 72 65 20 64 65  |ected, a more de|
00000ea0  74 61 69 6c 65 64 20 65  78 70 6c 61 6e 61 74 69  |tailed explanati|
00000eb0  6f 6e 20 69 73 20 67 69  76 65 6e 2e 20 0d 20 20  |on is given. .  |
00000ec0  20 20 20 20 20 20 20 20  0d 20 20 20 20 20 20 20  |        .       |
00000ed0  20 20 54 68 65 20 6d 69  64 64 6c 65 20 70 61 72  |  The middle par|
00000ee0  74 20 6f 66 20 74 68 65  20 73 63 72 65 65 6e 20  |t of the screen |
00000ef0  69 73 20 75 73 65 64 20  74 6f 20 64 69 73 70 6c  |is used to displ|
00000f00  61 79 20 74 68 65 20 63  75 72 72 65 6e 74 6c 79  |ay the currently|
00000f10  20 0d 20 20 20 20 73 65  6c 65 63 74 65 64 20 72  | .    selected r|
00000f20  65 63 6f 72 64 2c 20 77  68 69 6c 65 20 74 68 65  |ecord, while the|
00000f30  20 62 6f 74 74 6f 6d 20  6f 66 20 74 68 65 20 73  | bottom of the s|
00000f40  63 72 65 65 6e 20 67 69  76 65 73 20 64 65 74 61  |creen gives deta|
00000f50  69 6c 73 20 61 62 6f 75  74 20 0d 20 20 20 20 74  |ils about .    t|
00000f60  68 65 20 63 75 72 72 65  6e 74 20 64 61 74 61 20  |he current data |
00000f70  66 69 6c 65 2c 20 69 6e  63 6c 75 64 69 6e 67 20  |file, including |
00000f80  74 68 65 20 61 6d 6f 75  6e 74 20 6f 66 20 72 65  |the amount of re|
00000f90  63 6f 72 64 73 20 63 75  72 72 65 6e 74 6c 79 20  |cords currently |
00000fa0  69 6e 20 0d 20 20 20 20  74 68 65 20 66 69 6c 65  |in .    the file|
00000fb0  2c 20 74 68 65 20 72 65  6d 61 69 6e 69 6e 67 20  |, the remaining |
00000fc0  6d 65 6d 6f 72 79 20 73  70 61 63 65 2c 20 74 68  |memory space, th|
00000fd0  65 20 6c 61 73 74 20 66  69 6c 65 6e 61 6d 65 20  |e last filename |
00000fe0  65 6e 74 65 72 65 64 20  61 6e 64 20 0d 20 20 20  |entered and .   |
00000ff0  20 74 68 65 20 72 65 63  6f 72 64 20 6e 75 6d 62  | the record numb|
00001000  65 72 20 6f 66 20 74 68  65 20 72 65 63 6f 72 64  |er of the record|
00001010  20 74 68 61 74 20 69 73  20 63 75 72 72 65 6e 74  | that is current|
00001020  6c 79 20 62 65 69 6e 67  20 64 69 73 70 6c 61 79  |ly being display|
00001030  65 64 2e 20 0d 20 20 20  20 20 0d 20 20 20 20 44  |ed. .     .    D|
00001040  41 54 41 42 41 53 45 20  43 4f 4d 4d 41 4e 44 53  |ATABASE COMMANDS|
00001050  20 3a 20 0d 20 20 20 20  20 0d 20 20 20 20 20 20  | : .     .      |
00001060  20 20 20 41 73 20 77 65  6c 6c 20 61 73 20 65 6e  |   As well as en|
00001070  61 62 6c 69 6e 67 20 61  20 66 69 6c 65 20 74 6f  |abling a file to|
00001080  20 62 65 20 63 72 65 61  74 65 64 2c 20 44 41 54  | be created, DAT|
00001090  41 42 41 53 45 20 61 6c  73 6f 20 73 75 70 70 6f  |ABASE also suppo|
000010a0  72 74 73 20 0d 20 20 20  20 63 65 72 74 61 69 6e  |rts .    certain|
000010b0  20 63 6f 6d 6d 61 6e 64  73 20 74 68 61 74 20 63  | commands that c|
000010c0  61 6e 20 64 6f 20 76 61  72 69 6f 75 73 20 74 68  |an do various th|
000010d0  69 6e 67 73 20 74 6f 20  74 68 65 20 72 65 63 6f  |ings to the reco|
000010e0  72 64 73 20 74 68 61 74  20 68 61 76 65 20 0d 20  |rds that have . |
000010f0  20 20 20 62 65 65 6e 20  65 6e 74 65 72 65 64 2e  |   been entered.|
00001100  20 54 68 65 20 63 6f 6d  6d 61 6e 64 73 20 61 72  | The commands ar|
00001110  65 20 61 63 63 65 73 73  65 64 20 62 79 20 73 69  |e accessed by si|
00001120  6d 70 6c 79 20 70 72 65  73 73 69 6e 67 20 74 68  |mply pressing th|
00001130  65 20 0d 20 20 20 20 61  70 70 72 6f 70 72 69 61  |e .    appropria|
00001140  74 65 20 6b 65 79 2c 20  75 70 6f 6e 20 77 68 69  |te key, upon whi|
00001150  63 68 20 79 6f 75 20 77  69 6c 6c 20 62 65 20 67  |ch you will be g|
00001160  69 76 65 6e 20 69 6e 66  6f 72 6d 61 74 69 6f 6e  |iven information|
00001170  20 61 62 6f 75 74 20 68  6f 77 20 74 6f 20 0d 20  | about how to . |
00001180  20 20 20 75 73 65 20 74  68 65 20 63 6f 6d 6d 61  |   use the comma|
00001190  6e 64 20 61 6e 64 20 77  68 61 74 20 69 74 20 64  |nd and what it d|
000011a0  6f 65 73 2e 20 49 66 20  79 6f 75 20 74 72 79 20  |oes. If you try |
000011b0  74 6f 20 75 73 65 20 61  20 63 6f 6d 6d 61 6e 64  |to use a command|
000011c0  20 74 68 61 74 20 0d 20  20 20 20 63 61 6e 6e 6f  | that .    canno|
000011d0  74 20 62 65 20 75 73 65  64 20 61 74 20 74 68 61  |t be used at tha|
000011e0  74 20 6d 6f 6d 65 6e 74  20 28 65 2e 67 2e 20 69  |t moment (e.g. i|
000011f0  66 20 79 6f 75 20 74 72  79 20 74 6f 20 61 64 64  |f you try to add|
00001200  20 61 20 72 65 63 6f 72  64 20 74 6f 20 61 20 0d  | a record to a .|
00001210  20 20 20 20 66 69 6c 65  20 74 68 61 74 20 64 6f  |    file that do|
00001220  65 73 20 6e 6f 74 20 65  78 69 73 74 29 2c 20 74  |es not exist), t|
00001230  68 65 20 70 72 6f 67 72  61 6d 20 77 69 6c 6c 20  |he program will |
00001240  69 6e 66 6f 72 6d 20 79  6f 75 2c 20 61 6e 64 20  |inform you, and |
00001250  61 6c 73 6f 20 67 69 76  65 20 0d 20 20 20 20 79  |also give .    y|
00001260  6f 75 20 61 20 68 69 6e  74 20 61 73 20 74 6f 20  |ou a hint as to |
00001270  77 68 61 74 20 6d 69 67  68 74 20 68 61 76 65 20  |what might have |
00001280  67 6f 6e 65 20 77 72 6f  6e 67 2c 20 61 6e 64 20  |gone wrong, and |
00001290  68 6f 77 20 74 6f 20 72  65 6d 65 64 79 20 74 68  |how to remedy th|
000012a0  65 20 0d 20 20 20 20 70  72 6f 62 6c 65 6d 2e 20  |e .    problem. |
000012b0  54 68 65 20 70 72 6f 67  72 61 6d 20 69 73 20 76  |The program is v|
000012c0  65 72 79 20 75 73 65 72  20 66 72 69 65 6e 64 6c  |ery user friendl|
000012d0  79 20 69 6e 20 74 68 69  73 20 72 65 73 70 65 63  |y in this respec|
000012e0  74 2c 20 61 6e 64 20 0d  20 20 20 20 62 65 63 61  |t, and .    beca|
000012f0  75 73 65 20 6f 66 20 74  68 69 73 20 79 6f 75 20  |use of this you |
00001300  73 68 6f 75 6c 64 20 73  6f 6f 6e 20 6c 65 61 72  |should soon lear|
00001310  6e 20 68 6f 77 20 74 6f  20 75 73 65 20 74 68 65  |n how to use the|
00001320  20 70 72 6f 67 72 61 6d  20 74 6f 20 69 74 73 20  | program to its |
00001330  0d 20 20 20 20 66 75 6c  6c 65 73 74 20 70 6f 74  |.    fullest pot|
00001340  65 6e 74 69 61 6c 2e 20  44 6f 20 6e 6f 74 20 77  |ential. Do not w|
00001350  6f 72 72 79 20 61 62 6f  75 74 20 63 72 61 73 68  |orry about crash|
00001360  69 6e 67 20 74 68 65 20  70 72 6f 67 72 61 6d 20  |ing the program |
00001370  64 75 65 20 74 6f 2c 20  66 6f 72 20 0d 20 20 20  |due to, for .   |
00001380  20 65 78 61 6d 70 6c 65  2c 20 61 6e 20 69 6c 6c  | example, an ill|
00001390  65 67 61 6c 20 6f 70 65  72 61 74 69 6e 67 20 73  |egal operating s|
000013a0  79 73 74 65 6d 20 63 61  6c 6c 20 62 65 63 61 75  |ystem call becau|
000013b0  73 65 20 74 68 65 72 65  20 69 73 20 61 6e 20 65  |se there is an e|
000013c0  72 72 6f 72 20 0d 20 20  20 20 63 68 65 63 6b 69  |rror .    checki|
000013d0  6e 67 20 72 6f 75 74 69  6e 65 20 74 68 61 74 20  |ng routine that |
000013e0  74 72 61 70 73 20 61 6e  79 20 65 72 72 6f 72 73  |traps any errors|
000013f0  2c 20 72 65 70 6f 72 74  73 20 74 68 65 6d 2c 20  |, reports them, |
00001400  61 6e 64 20 74 68 65 6e  20 72 65 74 75 72 6e 73  |and then returns|
00001410  20 0d 20 20 20 20 63 6f  6e 74 72 6f 6c 20 62 61  | .    control ba|
00001420  63 6b 20 74 6f 20 74 68  65 20 70 72 6f 67 72 61  |ck to the progra|
00001430  6d 20 77 69 74 68 6f 75  74 20 6c 6f 73 69 6e 67  |m without losing|
00001440  20 74 68 65 20 64 61 74  61 20 66 69 6c 65 20 74  | the data file t|
00001450  68 61 74 20 77 61 73 20  0d 20 20 20 20 63 75 72  |hat was .    cur|
00001460  72 65 6e 74 6c 79 20 69  6e 20 6d 65 6d 6f 72 79  |rently in memory|
00001470  20 28 69 66 20 74 68 65  72 65 20 77 61 73 20 6f  | (if there was o|
00001480  6e 65 29 2e 20 0d 20 20  20 20 20 0d 20 20 20 20  |ne). .     .    |
00001490  20 20 20 20 20 54 68 65  20 63 6f 6d 6d 61 6e 64  |     The command|
000014a0  73 20 61 76 61 69 6c 61  62 6c 65 20 61 72 65 20  |s available are |
000014b0  3a 20 0d 20 20 20 20 20  0d 20 20 20 20 20 20 20  |: .     .       |
000014c0  20 20 28 41 29 20 41 44  44 20 20 20 20 20 2d 20  |  (A) ADD     - |
000014d0  61 64 64 20 61 20 72 65  63 6f 72 64 2e 20 0d 20  |add a record. . |
000014e0  20 20 20 20 20 20 20 20  28 42 29 20 42 41 43 4b  |        (B) BACK|
000014f0  20 20 20 20 2d 20 62 61  63 6b 73 74 65 70 20 74  |    - backstep t|
00001500  68 72 6f 75 67 68 20 74  68 65 20 66 69 6c 65 2e  |hrough the file.|
00001510  20 0d 20 20 20 20 20 20  20 20 20 28 44 29 20 44  | .         (D) D|
00001520  45 4c 45 54 45 20 20 2d  20 64 65 6c 65 74 65 20  |ELETE  - delete |
00001530  61 20 72 65 63 6f 72 64  2e 20 0d 20 20 20 20 20  |a record. .     |
00001540  20 20 20 20 28 45 29 20  45 44 49 54 20 20 20 20  |    (E) EDIT    |
00001550  2d 20 65 64 69 74 20 61  20 72 65 63 6f 72 64 2e  |- edit a record.|
00001560  20 0d 20 20 20 20 20 20  20 20 20 28 46 29 20 46  | .         (F) F|
00001570  4f 52 57 41 52 44 20 2d  20 66 6f 72 77 61 72 64  |ORWARD - forward|
00001580  73 74 65 70 20 74 68 72  6f 75 67 68 20 74 68 65  |step through the|
00001590  20 66 69 6c 65 2e 20 0d  20 20 20 20 20 20 20 20  | file. .        |
000015a0  20 28 48 29 20 48 45 4c  50 20 20 20 20 2d 20 67  | (H) HELP    - g|
000015b0  69 76 65 73 20 64 65 74  61 69 6c 73 20 6f 66 20  |ives details of |
000015c0  63 6f 6d 6d 61 6e 64 73  2e 20 0d 20 20 20 20 20  |commands. .     |
000015d0  20 20 20 20 28 4b 29 20  4b 45 45 50 20 20 20 20  |    (K) KEEP    |
000015e0  2d 20 73 61 76 65 20 74  68 65 20 66 69 6c 65 2e  |- save the file.|
000015f0  20 0d 20 20 20 20 20 20  20 20 20 28 4c 29 20 4c  | .         (L) L|
00001600  4f 41 44 20 20 20 20 2d  20 6c 6f 61 64 20 74 68  |OAD    - load th|
00001610  65 20 66 69 6c 65 2e 20  0d 20 20 20 20 20 20 20  |e file. .       |
00001620  20 20 28 4e 29 20 4e 45  57 20 20 20 20 20 2d 20  |  (N) NEW     - |
00001630  64 65 66 69 6e 65 20 6e  65 77 20 66 69 6c 65 2e  |define new file.|
00001640  20 0d 20 20 20 20 20 20  20 20 20 28 4f 29 20 4f  | .         (O) O|
00001650  52 44 45 52 20 20 20 2d  20 72 65 2d 61 72 72 61  |RDER   - re-arra|
00001660  6e 67 65 20 66 69 6c 65  2e 20 0d 20 20 20 20 20  |nge file. .     |
00001670  20 20 20 20 28 2a 29 20  2a 4f 53 20 20 20 20 20  |    (*) *OS     |
00001680  2d 20 65 6e 74 65 72 20  4f 53 20 63 6f 6d 6d 61  |- enter OS comma|
00001690  6e 64 2e 20 0d 20 20 20  20 20 20 20 20 20 28 50  |nd. .         (P|
000016a0  29 20 50 52 49 4e 54 20  20 20 2d 20 73 65 6e 64  |) PRINT   - send|
000016b0  20 66 69 6c 65 20 74 6f  20 70 72 69 6e 74 65 72  | file to printer|
000016c0  2e 20 0d 20 20 20 20 20  20 20 20 20 28 52 29 20  |. .         (R) |
000016d0  52 45 53 45 54 20 20 20  2d 20 72 65 73 65 74 20  |RESET   - reset |
000016e0  44 41 54 41 42 41 53 45  2e 20 0d 20 20 20 20 20  |DATABASE. .     |
000016f0  20 20 20 20 28 53 29 20  53 45 41 52 43 48 20 20  |    (S) SEARCH  |
00001700  2d 20 73 65 61 72 63 68  20 66 6f 72 20 61 20 72  |- search for a r|
00001710  65 63 6f 72 64 2e 20 0d  20 20 20 20 20 0d 20 20  |ecord. .     .  |
00001720  20 20 20 20 20 20 20 41  73 20 6d 65 6e 74 69 6f  |       As mentio|
00001730  6e 65 64 20 62 65 66 6f  72 65 2c 20 44 41 54 41  |ned before, DATA|
00001740  42 41 53 45 20 69 73 20  76 65 72 79 20 75 73 65  |BASE is very use|
00001750  72 2d 66 72 69 65 6e 64  6c 79 2c 20 61 6e 64 20  |r-friendly, and |
00001760  79 6f 75 20 0d 0d 0d 20  20 20 20 20 20 20 20 20  |you ...         |
00001770  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001780  20 20 20 20 20 20 20 20  20 20 20 50 61 67 65 20  |           Page |
00001790  32 0d 0d 0d 0d 0d 0d 20  20 20 20 20 20 20 20 20  |2......         |
000017a0  20 20 20 20 20 20 20 20  20 20 20 20 41 20 44 41  |            A DA|
000017b0  54 41 2d 42 41 53 45 20  53 59 53 54 45 4d 20 62  |TA-BASE SYSTEM b|
000017c0  79 20 52 4f 42 20 41 4e  44 45 52 53 4f 4e 2e 0d  |y ROB ANDERSON..|
000017d0  0d 0d 0d 20 20 20 20 73  68 6f 75 6c 64 20 68 61  |...    should ha|
000017e0  76 65 20 6e 6f 20 70 72  6f 62 6c 65 6d 73 20 75  |ve no problems u|
000017f0  73 69 6e 67 20 74 68 65  20 63 6f 6d 6d 61 6e 64  |sing the command|
00001800  73 2c 20 62 75 74 20 69  6e 20 63 61 73 65 20 74  |s, but in case t|
00001810  68 65 72 65 20 61 72 65  20 61 20 0d 20 20 20 20  |here are a .    |
00001820  66 65 77 20 70 6f 69 6e  74 73 20 74 68 61 74 20  |few points that |
00001830  61 72 65 20 73 74 69 6c  6c 20 6e 6f 74 20 63 6c  |are still not cl|
00001840  65 61 72 20 77 68 65 6e  20 75 73 69 6e 67 20 74  |ear when using t|
00001850  68 65 20 70 72 6f 67 72  61 6d 2c 20 61 6e 20 0d  |he program, an .|
00001860  20 20 20 20 65 78 70 6c  61 6e 61 74 69 6f 6e 20  |    explanation |
00001870  69 73 20 6e 6f 77 20 67  69 76 65 6e 20 6f 66 20  |is now given of |
00001880  61 6c 6c 20 74 68 65 20  63 6f 6d 6d 61 6e 64 73  |all the commands|
00001890  2e 20 0d 20 20 20 20 20  0d 20 20 20 20 41 44 44  |. .     .    ADD|
000018a0  20 45 6e 61 62 6c 65 73  20 61 20 72 65 63 6f 72  | Enables a recor|
000018b0  64 20 74 6f 20 62 65 20  61 64 64 65 64 20 74 6f  |d to be added to|
000018c0  20 74 68 65 20 64 61 74  61 20 66 69 6c 65 20 63  | the data file c|
000018d0  75 72 72 65 6e 74 6c 79  20 69 6e 20 6d 65 6d 6f  |urrently in memo|
000018e0  72 79 2e 20 0d 20 20 20  20 20 20 54 68 65 20 72  |ry. .      The r|
000018f0  65 63 6f 72 64 20 61 64  64 65 64 20 69 73 20 70  |ecord added is p|
00001900  6c 61 63 65 64 20 61 74  20 74 68 65 20 65 6e 64  |laced at the end|
00001910  20 6f 66 20 74 68 65 20  66 69 6c 65 2e 20 0d 20  | of the file. . |
00001920  20 20 20 42 41 43 4b 20  57 68 65 6e 65 76 65 72  |   BACK Whenever|
00001930  20 42 20 69 73 20 70 72  65 73 73 65 64 2c 20 74  | B is pressed, t|
00001940  68 65 20 63 75 72 72 65  6e 74 20 72 65 63 6f 72  |he current recor|
00001950  64 20 6e 75 6d 62 65 72  20 69 73 20 64 65 63 72  |d number is decr|
00001960  65 6d 65 6e 74 65 64 20  0d 20 20 20 20 20 20 62  |emented .      b|
00001970  79 20 6f 6e 65 2c 20 73  6f 20 74 68 61 74 20 74  |y one, so that t|
00001980  68 65 20 70 72 65 76 69  6f 75 73 20 72 65 63 6f  |he previous reco|
00001990  72 64 20 69 73 20 64 69  73 70 6c 61 79 65 64 20  |rd is displayed |
000019a0  6f 6e 20 74 68 65 20 73  63 72 65 65 6e 2e 20 54  |on the screen. T|
000019b0  68 69 73 20 0d 20 20 20  20 20 20 63 6f 6d 6d 61  |his .      comma|
000019c0  6e 64 2c 20 61 6c 6f 6e  67 20 77 69 74 68 20 28  |nd, along with (|
000019d0  46 29 20 46 4f 52 57 41  52 44 2c 20 65 6e 61 62  |F) FORWARD, enab|
000019e0  6c 65 73 20 74 68 65 20  66 69 6c 65 20 74 6f 20  |les the file to |
000019f0  62 65 20 73 63 61 6e 6e  65 64 20 0d 20 20 20 20  |be scanned .    |
00001a00  20 20 74 68 72 6f 75 67  68 2c 20 61 20 72 65 63  |  through, a rec|
00001a10  6f 72 64 20 61 74 20 61  20 74 69 6d 65 2e 20 0d  |ord at a time. .|
00001a20  20 20 20 20 44 45 4c 45  54 45 20 54 68 69 73 20  |    DELETE This |
00001a30  77 69 6c 6c 20 64 65 6c  65 74 65 20 74 68 65 20  |will delete the |
00001a40  72 65 63 6f 72 64 20 63  75 72 72 65 6e 74 20 62  |record current b|
00001a50  65 69 6e 67 20 64 69 73  70 6c 61 79 65 64 20 6f  |eing displayed o|
00001a60  6e 20 74 68 65 20 0d 20  20 20 20 20 20 73 63 72  |n the .      scr|
00001a70  65 65 6e 2c 20 61 66 74  65 72 77 68 69 63 68 20  |een, afterwhich |
00001a80  74 68 65 20 66 69 6c 65  20 77 69 6c 6c 20 62 65  |the file will be|
00001a90  20 63 6f 6d 70 61 63 74  65 64 2e 20 42 65 63 61  | compacted. Beca|
00001aa0  75 73 65 20 74 68 69 73  20 63 6f 6d 6d 6d 61 6e  |use this commman|
00001ab0  64 20 0d 20 20 20 20 20  20 69 73 20 69 72 72 65  |d .      is irre|
00001ac0  76 65 72 73 61 62 6c 65  20 69 6e 20 69 74 73 20  |versable in its |
00001ad0  65 66 66 65 63 74 2c 20  79 6f 75 20 61 72 65 20  |effect, you are |
00001ae0  66 69 72 73 74 20 61 73  6b 65 64 20 69 66 20 79  |first asked if y|
00001af0  6f 75 20 72 65 61 6c 6c  79 20 0d 20 20 20 20 20  |ou really .     |
00001b00  20 77 61 6e 74 20 74 6f  20 67 6f 20 61 68 65 61  | want to go ahea|
00001b10  64 20 61 6e 64 20 64 65  6c 65 74 65 20 74 68 65  |d and delete the|
00001b20  20 72 65 63 6f 72 64 2e  20 0d 20 20 20 20 45 44  | record. .    ED|
00001b30  49 54 20 54 68 69 73 20  63 6f 6d 6d 61 6e 64 20  |IT This command |
00001b40  77 69 6c 6c 20 65 6e 61  62 6c 65 20 74 68 65 20  |will enable the |
00001b50  64 69 73 70 6c 61 79 65  64 20 72 65 63 6f 72 64  |displayed record|
00001b60  20 74 6f 20 62 65 20 65  64 69 74 65 64 2c 20 0d  | to be edited, .|
00001b70  20 20 20 20 20 20 65 6e  61 62 6c 69 6e 67 20 6d  |      enabling m|
00001b80  69 73 74 61 6b 65 73 20  65 74 63 2e 20 74 6f 20  |istakes etc. to |
00001b90  62 65 20 63 6f 72 72 65  63 74 65 64 2e 20 0d 20  |be corrected. . |
00001ba0  20 20 20 46 4f 52 57 41  52 44 20 45 6e 61 62 6c  |   FORWARD Enabl|
00001bb0  65 73 20 74 68 65 20 72  65 63 6f 72 64 73 20 74  |es the records t|
00001bc0  6f 20 62 65 20 73 63 61  6e 6e 65 64 20 69 6e 20  |o be scanned in |
00001bd0  61 20 66 6f 72 77 61 72  64 20 64 69 72 65 63 74  |a forward direct|
00001be0  69 6f 6e 20 28 73 65 65  20 0d 20 20 20 20 20 20  |ion (see .      |
00001bf0  42 41 43 4b 29 2e 20 0d  20 20 20 20 48 45 4c 50  |BACK). .    HELP|
00001c00  20 54 68 69 73 20 63 6f  6d 6d 61 6e 64 20 69 73  | This command is|
00001c10  20 76 65 72 79 20 75 73  65 66 75 6c 6c 20 62 65  | very usefull be|
00001c20  63 61 75 73 65 20 69 74  20 67 69 76 65 73 20 61  |cause it gives a|
00001c30  20 73 75 6d 6d 61 72 79  20 6f 66 20 61 6c 6c 20  | summary of all |
00001c40  0d 20 20 20 20 20 20 74  68 65 20 63 6f 6d 6d 61  |.      the comma|
00001c50  6e 64 73 20 61 6e 64 20  77 68 61 74 20 74 68 65  |nds and what the|
00001c60  79 20 64 6f 2e 20 0d 20  20 20 20 4b 45 45 50 20  |y do. .    KEEP |
00001c70  52 65 73 75 6c 74 73 20  69 6e 20 74 68 65 20 64  |Results in the d|
00001c80  61 74 61 20 66 69 6c 65  20 69 6e 20 6d 65 6d 6f  |ata file in memo|
00001c90  72 79 20 62 65 69 6e 67  20 73 61 76 65 64 20 74  |ry being saved t|
00001ca0  6f 20 74 68 65 20 63 75  72 72 65 6e 74 6c 79 20  |o the currently |
00001cb0  0d 20 20 20 20 20 20 61  63 74 69 76 65 20 66 69  |.      active fi|
00001cc0  6c 69 6e 67 20 73 79 73  74 65 6d 2c 20 77 68 69  |ling system, whi|
00001cd0  63 68 20 63 61 6e 20 74  68 65 6e 20 62 65 20 6c  |ch can then be l|
00001ce0  6f 61 64 65 64 20 69 6e  20 75 73 69 6e 67 20 4c  |oaded in using L|
00001cf0  4f 41 44 2e 20 0d 20 20  20 20 4c 4f 41 44 20 45  |OAD. .    LOAD E|
00001d00  6e 61 62 6c 65 73 20 61  20 70 72 65 76 69 6f 75  |nables a previou|
00001d10  73 6c 79 20 73 61 76 65  64 20 66 69 6c 65 20 74  |sly saved file t|
00001d20  6f 20 62 65 20 6c 6f 61  64 65 64 20 69 6e 20 66  |o be loaded in f|
00001d30  72 6f 6d 20 61 20 66 69  6c 69 6e 67 20 0d 20 20  |rom a filing .  |
00001d40  20 20 20 20 73 79 73 74  65 6d 2e 20 41 66 74 65  |    system. Afte|
00001d50  72 20 74 79 70 69 6e 67  20 69 6e 20 74 68 65 20  |r typing in the |
00001d60  66 69 6c 65 6e 61 6d 65  20 6f 66 20 74 68 65 20  |filename of the |
00001d70  64 61 74 61 20 66 69 6c  65 2c 20 79 6f 75 20 77  |data file, you w|
00001d80  69 6c 6c 20 61 6c 73 6f  20 0d 20 20 20 20 20 20  |ill also .      |
00001d90  68 61 76 65 20 74 6f 20  74 79 70 65 20 69 6e 20  |have to type in |
00001da0  74 68 65 20 70 61 73 73  77 6f 72 64 20 74 68 61  |the password tha|
00001db0  74 20 68 61 73 20 70 72  65 76 69 6f 75 73 6c 79  |t has previously|
00001dc0  20 62 65 65 6e 20 67 69  76 65 6e 20 74 6f 20 74  | been given to t|
00001dd0  68 65 20 0d 20 20 20 20  20 20 66 69 6c 65 2c 20  |he .      file, |
00001de0  61 6e 64 20 6f 6e 6c 79  20 77 68 65 6e 20 74 68  |and only when th|
00001df0  65 20 63 6f 72 72 65 63  74 20 70 61 73 73 77 6f  |e correct passwo|
00001e00  72 64 20 68 61 73 20 62  65 65 6e 20 65 6e 74 65  |rd has been ente|
00001e10  72 65 64 20 77 69 6c 6c  20 74 68 65 20 0d 20 20  |red will the .  |
00001e20  20 20 20 20 72 65 73 74  20 6f 66 20 74 68 65 20  |    rest of the |
00001e30  66 69 6c 65 20 62 65 20  6c 6f 61 64 65 64 20 69  |file be loaded i|
00001e40  6e 2e 20 57 68 65 6e 20  74 79 70 69 6e 67 20 69  |n. When typing i|
00001e50  6e 20 74 68 65 20 70 61  73 73 77 6f 72 64 2c 20  |n the password, |
00001e60  69 74 20 77 69 6c 6c 20  0d 20 20 20 20 20 20 6e  |it will .      n|
00001e70  6f 74 20 62 65 20 70 72  69 6e 74 65 64 20 75 70  |ot be printed up|
00001e80  20 6f 6e 20 74 68 65 20  73 63 72 65 65 6e 20 73  | on the screen s|
00001e90  6f 20 61 73 20 74 6f 20  70 72 65 76 65 6e 74 20  |o as to prevent |
00001ea0  61 6e 79 6f 6e 65 20 65  6c 73 65 20 73 65 65 69  |anyone else seei|
00001eb0  6e 67 20 0d 20 20 20 20  20 20 69 74 21 20 49 66  |ng .      it! If|
00001ec0  20 61 6e 20 61 74 74 65  6d 70 74 20 69 73 20 6d  | an attempt is m|
00001ed0  61 64 65 20 74 6f 20 6c  6f 61 64 20 61 20 64 61  |ade to load a da|
00001ee0  74 61 20 66 69 6c 65 20  74 68 61 74 20 77 61 73  |ta file that was|
00001ef0  20 6e 6f 74 20 63 72 65  61 74 65 64 20 0d 20 20  | not created .  |
00001f00  20 20 20 20 62 79 20 44  41 54 41 42 41 53 45 2c  |    by DATABASE,|
00001f10  20 74 68 65 20 66 69 6c  65 20 77 69 6c 6c 20 62  | the file will b|
00001f20  65 20 72 65 6a 65 63 74  65 64 2e 20 0d 20 20 20  |e rejected. .   |
00001f30  20 4e 45 57 20 54 68 69  73 20 63 6f 6d 6d 61 6e  | NEW This comman|
00001f40  64 20 65 6e 61 62 6c 65  73 20 61 20 6e 65 77 20  |d enables a new |
00001f50  66 69 6c 65 20 74 6f 20  62 65 20 63 72 65 61 74  |file to be creat|
00001f60  65 64 2c 20 70 72 6f 76  69 64 65 64 20 74 68 65  |ed, provided the|
00001f70  72 65 20 69 73 20 0d 20  20 20 20 20 20 6e 6f 74  |re is .      not|
00001f80  20 61 20 66 69 6c 65 20  61 6c 72 65 61 64 79 20  | a file already |
00001f90  69 6e 20 6d 65 6d 6f 72  79 20 75 70 6f 6e 20 77  |in memory upon w|
00001fa0  68 69 63 68 20 69 74 20  77 69 6c 6c 20 68 61 76  |hich it will hav|
00001fb0  65 20 74 6f 20 62 65 20  64 65 6c 65 74 65 64 20  |e to be deleted |
00001fc0  0d 20 20 20 20 20 20 75  73 69 6e 67 20 52 45 53  |.      using RES|
00001fd0  45 54 2e 20 57 68 65 6e  20 64 65 66 69 6e 69 6e  |ET. When definin|
00001fe0  67 20 61 20 66 69 6c 65  2c 20 74 68 65 20 66 69  |g a file, the fi|
00001ff0  72 73 74 20 74 68 69 6e  67 20 74 68 61 74 20 6d  |rst thing that m|
00002000  75 73 74 20 62 65 20 64  6f 6e 65 20 0d 20 20 20  |ust be done .   |
00002010  20 20 20 69 73 20 74 6f  20 64 65 66 69 6e 65 20  |   is to define |
00002020  74 68 65 20 66 69 65 6c  64 20 74 69 74 6c 65 73  |the field titles|
00002030  2c 20 61 66 74 65 72 77  68 69 63 68 20 74 68 65  |, afterwhich the|
00002040  20 66 69 65 6c 64 20 6c  65 6e 67 74 68 73 20 6d  | field lengths m|
00002050  75 73 74 20 62 65 20 0d  20 20 20 20 20 20 65 6e  |ust be .      en|
00002060  74 65 72 65 64 2e 20 47  72 65 61 74 20 63 61 72  |tered. Great car|
00002070  65 20 6d 75 73 74 20 62  65 20 6d 61 64 65 20 77  |e must be made w|
00002080  68 65 6e 20 64 65 66 69  6e 69 6e 67 20 74 68 65  |hen defining the|
00002090  73 65 20 62 65 63 61 75  73 65 20 74 68 65 79 20  |se because they |
000020a0  0d 20 20 20 20 20 20 63  61 6e 6e 6f 74 20 62 65  |.      cannot be|
000020b0  20 6c 61 74 65 72 20 63  68 61 6e 67 65 64 2e 20  | later changed. |
000020c0  59 6f 75 20 73 68 6f 75  6c 64 20 6e 6f 74 20 68  |You should not h|
000020d0  61 76 65 20 61 6e 79 20  70 72 6f 62 6c 65 6d 73  |ave any problems|
000020e0  20 73 65 74 74 69 6e 67  20 75 70 20 0d 20 20 20  | setting up .   |
000020f0  20 20 20 61 20 66 69 6c  65 20 62 65 63 61 75 73  |   a file becaus|
00002100  65 20 74 68 65 20 70 72  6f 67 72 61 6d 20 67 69  |e the program gi|
00002110  76 65 73 20 61 6c 6c 20  74 68 65 20 64 65 74 61  |ves all the deta|
00002120  69 6c 73 20 61 62 6f 75  74 20 68 6f 77 20 74 6f  |ils about how to|
00002130  20 67 6f 20 0d 20 20 20  20 20 20 61 62 6f 75 74  | go .      about|
00002140  20 69 74 2e 20 46 69 6e  61 6c 6c 79 20 79 6f 75  | it. Finally you|
00002150  20 77 69 6c 6c 20 62 65  20 61 73 6b 65 64 20 66  | will be asked f|
00002160  6f 72 20 61 20 70 61 73  73 77 6f 72 64 20 74 68  |or a password th|
00002170  61 74 20 69 73 20 74 6f  20 67 6f 20 0d 20 20 20  |at is to go .   |
00002180  20 20 20 77 69 74 68 20  74 68 65 20 66 69 6c 65  |   with the file|
00002190  2c 20 77 68 69 63 68 20  77 69 6c 6c 20 73 74 6f  |, which will sto|
000021a0  70 20 61 6e 79 20 75 6e  61 74 68 6f 75 72 69 73  |p any unathouris|
000021b0  65 64 20 70 65 6f 70 6c  65 20 66 72 6f 6d 20 73  |ed people from s|
000021c0  65 65 69 6e 67 20 0d 20  20 20 20 20 20 79 6f 75  |eeing .      you|
000021d0  72 20 69 6e 66 6f 2e 2e  20 28 62 75 74 20 6d 61  |r info.. (but ma|
000021e0  6b 65 20 73 75 72 65 20  79 6f 75 20 72 65 6d 65  |ke sure you reme|
000021f0  6d 62 65 72 20 74 68 65  20 70 61 73 73 77 6f 72  |mber the passwor|
00002200  64 20 6f 72 20 79 6f 75  20 77 6f 6e 27 74 20 62  |d or you won't b|
00002210  65 20 0d 20 20 20 20 20  20 61 62 6c 65 20 74 6f  |e .      able to|
00002220  20 73 65 65 20 79 6f 75  72 20 66 69 6c 65 20 65  | see your file e|
00002230  69 74 68 65 72 21 29 2e  20 0d 20 20 20 20 4f 52  |ither!). .    OR|
00002240  44 45 52 20 54 68 69 73  20 63 61 6e 20 73 77 61  |DER This can swa|
00002250  70 20 74 77 6f 20 72 65  63 6f 72 64 73 20 77 69  |p two records wi|
00002260  74 68 20 65 61 63 68 20  6f 74 68 65 72 2c 20 77  |th each other, w|
00002270  68 69 63 68 20 65 6e 61  62 6c 65 73 20 79 6f 75  |hich enables you|
00002280  20 74 6f 20 0d 20 20 20  20 20 20 6d 6f 76 65 20  | to .      move |
00002290  74 68 65 20 72 65 63 6f  72 64 73 20 61 72 6f 75  |the records arou|
000022a0  6e 64 20 74 68 65 20 66  69 6c 65 20 73 6f 20 61  |nd the file so a|
000022b0  73 20 74 6f 20 70 75 74  20 74 68 65 6d 20 69 6e  |s to put them in|
000022c0  20 74 68 65 20 6f 72 64  65 72 20 79 6f 75 20 0d  | the order you .|
000022d0  20 20 20 20 20 20 77 61  6e 74 20 74 68 65 6d 2e  |      want them.|
000022e0  20 57 68 65 6e 20 79 6f  75 20 75 73 65 20 74 68  | When you use th|
000022f0  65 20 63 6f 6d 6d 61 6e  64 2c 20 79 6f 75 20 77  |e command, you w|
00002300  69 6c 6c 20 62 65 20 61  73 6b 65 64 20 66 6f 72  |ill be asked for|
00002310  20 74 77 6f 20 0d 20 20  20 20 20 20 72 65 63 6f  | two .      reco|
00002320  72 64 20 6e 75 6d 62 65  72 73 2c 20 77 68 69 63  |rd numbers, whic|
00002330  68 20 61 72 65 20 74 68  65 20 74 77 6f 20 74 6f  |h are the two to|
00002340  20 62 65 20 73 77 61 70  70 65 64 2e 20 0d 20 20  | be swapped. .  |
00002350  20 20 2a 4f 53 20 54 6f  20 61 63 63 65 73 73 20  |  *OS To access |
00002360  74 68 69 73 20 63 6f 6d  6d 61 6e 64 20 73 69 6d  |this command sim|
00002370  70 6c 79 20 6b 65 65 70  20 53 48 49 46 54 20 70  |ply keep SHIFT p|
00002380  72 65 73 73 65 64 20 61  6e 64 20 74 68 65 6e 20  |ressed and then |
00002390  68 69 74 20 74 68 65 20  0d 20 20 20 20 20 20 2a  |hit the .      *|
000023a0  20 6b 65 79 2e 20 41 20  2a 20 77 69 6c 6c 20 74  | key. A * will t|
000023b0  68 65 6e 20 63 6f 6d 65  20 6f 6e 74 6f 20 74 68  |hen come onto th|
000023c0  65 20 73 63 72 65 65 6e  2c 20 61 66 74 65 72 77  |e screen, afterw|
000023d0  68 69 63 68 20 79 6f 75  20 63 61 6e 20 65 6e 74  |hich you can ent|
000023e0  65 72 20 0d 20 20 20 20  20 20 79 6f 75 72 20 6f  |er .      your o|
000023f0  70 65 72 61 74 69 6e 67  20 73 79 73 74 65 6d 20  |perating system |
00002400  63 6f 6d 6d 61 6e 64 2e  20 54 68 69 73 20 65 6e  |command. This en|
00002410  61 62 6c 65 73 20 79 6f  75 20 74 6f 20 64 6f 20  |ables you to do |
00002420  74 68 69 6e 67 73 20 73  75 63 68 20 61 73 20 0d  |things such as .|
00002430  20 20 20 20 20 20 63 61  74 61 6c 6f 67 69 6e 67  |      cataloging|
00002440  20 61 20 64 69 73 63 20  28 2a 43 41 54 29 2c 20  | a disc (*CAT), |
00002450  6f 72 20 73 65 6c 65 63  74 69 6e 67 20 61 20 66  |or selecting a f|
00002460  69 6c 69 6e 67 20 73 79  73 74 65 6d 20 28 2a 44  |iling system (*D|
00002470  49 53 43 2c 20 2a 54 41  50 45 20 0d 20 20 20 20  |ISC, *TAPE .    |
00002480  20 20 65 74 63 29 2e 20  46 6f 72 20 6d 6f 72 65  |  etc). For more|
00002490  20 64 65 74 61 69 6c 73  20 6f 66 20 6f 70 65 72  | details of oper|
000024a0  61 74 69 6e 67 20 73 79  73 74 65 6d 20 63 6f 6d  |ating system com|
000024b0  6d 61 6e 64 73 2c 20 73  65 65 20 70 61 67 65 20  |mands, see page |
000024c0  34 31 36 20 6f 66 20 0d  20 20 20 20 20 20 74 68  |416 of .      th|
000024d0  65 20 75 73 65 72 20 67  75 69 64 65 2e 20 0d 20  |e user guide. . |
000024e0  20 20 20 50 52 49 4e 54  20 49 66 20 61 20 70 72  |   PRINT If a pr|
000024f0  69 6e 74 65 72 20 69 73  20 63 6f 6e 6e 65 63 74  |inter is connect|
00002500  65 64 20 74 6f 20 79 6f  75 72 20 63 6f 6d 70 75  |ed to your compu|
00002510  74 65 72 20 79 6f 75 20  77 69 6c 6c 20 62 65 20  |ter you will be |
00002520  61 62 6c 65 20 74 6f 20  0d 20 20 20 20 20 20 67  |able to .      g|
00002530  65 74 20 61 20 68 61 72  64 20 63 6f 70 79 20 6f  |et a hard copy o|
00002540  66 20 61 20 73 69 6e 67  6c 65 20 72 65 63 6f 72  |f a single recor|
00002550  64 2c 20 6f 72 20 74 68  65 20 77 68 6f 6c 65 20  |d, or the whole |
00002560  66 69 6c 65 2e 20 57 68  65 6e 20 70 72 69 6e 74  |file. When print|
00002570  69 6e 67 20 0d 20 20 20  20 20 20 6f 75 74 20 61  |ing .      out a|
00002580  6c 6c 20 74 68 65 20 72  65 63 6f 72 64 73 2c 20  |ll the records, |
00002590  79 6f 75 20 77 69 6c 6c  20 62 65 20 61 73 6b 65  |you will be aske|
000025a0  64 20 66 6f 72 20 61 6e  20 69 6e 74 65 72 2d 72  |d for an inter-r|
000025b0  65 63 6f 72 64 20 73 70  61 63 65 20 0d 20 20 20  |ecord space .   |
000025c0  20 20 20 63 68 61 72 61  63 74 65 72 20 77 68 69  |   character whi|
000025d0  63 68 20 77 69 6c 6c 20  62 65 20 70 72 69 6e 74  |ch will be print|
000025e0  65 64 20 69 6e 20 61 20  6c 6f 6e 67 20 6c 69 6e  |ed in a long lin|
000025f0  65 20 74 6f 20 73 65 70  65 72 61 74 65 20 65 61  |e to seperate ea|
00002600  63 68 20 0d 20 20 20 20  20 20 72 65 63 6f 72 64  |ch .      record|
00002610  20 6f 6e 20 74 68 65 20  70 61 70 65 72 20 28 61  | on the paper (a|
00002620  20 73 75 69 74 61 62 6c  65 20 63 68 61 72 61 63  | suitable charac|
00002630  74 65 72 20 69 73 20 61  20 27 2d 27 29 2e 20 0d  |ter is a '-'). .|
00002640  20 20 20 20 52 45 53 45  54 20 57 68 65 6e 20 79  |    RESET When y|
00002650  6f 75 20 70 72 65 73 73  20 27 52 27 20 74 68 69  |ou press 'R' thi|
00002660  73 20 77 69 70 65 73 20  74 68 65 20 6d 65 6d 6f  |s wipes the memo|
00002670  72 79 20 77 68 65 72 65  20 74 68 65 20 63 75 72  |ry where the cur|
00002680  72 65 6e 74 20 66 69 6c  65 20 0d 20 20 20 20 20  |rent file .     |
00002690  20 69 73 20 73 74 6f 72  65 64 2c 20 74 68 75 73  | is stored, thus|
000026a0  20 77 69 70 69 6e 67 20  6f 75 74 20 74 68 65 20  | wiping out the |
000026b0  66 69 6c 65 2e 20 55 73  65 20 74 68 69 73 20 63  |file. Use this c|
000026c0  6f 6d 6d 61 6e 64 20 63  61 72 65 66 75 6c 6c 79  |ommand carefully|
000026d0  2c 20 61 6e 64 20 0d 20  20 20 20 20 20 6d 61 6b  |, and .      mak|
000026e0  65 20 73 75 72 65 20 74  68 61 74 20 79 6f 75 20  |e sure that you |
000026f0  68 61 76 65 20 73 61 76  65 64 20 74 68 65 20 66  |have saved the f|
00002700  69 6c 65 20 62 65 66 6f  72 65 20 75 73 69 6e 67  |ile before using|
00002710  20 52 45 53 45 54 2e 20  0d 20 20 20 20 53 45 41  | RESET. .    SEA|
00002720  52 43 48 20 54 68 69 73  20 63 6f 6d 6d 61 6e 64  |RCH This command|
00002730  20 65 6e 61 62 6c 65 73  20 79 6f 75 20 74 6f 20  | enables you to |
00002740  66 69 6e 64 20 61 20 72  65 63 6f 72 64 20 71 75  |find a record qu|
00002750  69 63 6b 6c 79 20 62 79  20 61 73 6b 69 6e 67 20  |ickly by asking |
00002760  66 6f 72 20 0d 0d 0d 20  20 20 20 20 20 20 20 20  |for ...         |
00002770  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002780  20 20 20 20 20 20 20 20  20 20 20 50 61 67 65 20  |           Page |
00002790  33 0d 0d 0d 0d 0d 0d 20  20 20 20 20 20 20 20 20  |3......         |
000027a0  20 20 20 20 20 20 20 20  20 20 20 20 41 20 44 41  |            A DA|
000027b0  54 41 2d 42 41 53 45 20  53 59 53 54 45 4d 20 62  |TA-BASE SYSTEM b|
000027c0  79 20 52 4f 42 20 41 4e  44 45 52 53 4f 4e 2e 0d  |y ROB ANDERSON..|
000027d0  0d 0d 0d 20 20 20 20 20  20 61 20 73 65 61 72 63  |...      a searc|
000027e0  68 20 72 65 63 6f 72 64  2c 20 61 66 74 65 72 77  |h record, afterw|
000027f0  68 69 63 68 20 69 74 20  77 69 6c 6c 20 73 65 61  |hich it will sea|
00002800  72 63 68 20 74 68 65 20  66 69 6c 65 20 66 6f 72  |rch the file for|
00002810  20 61 6e 6f 74 68 65 72  20 0d 20 20 20 20 20 20  | another .      |
00002820  72 65 63 6f 72 64 20 74  68 61 74 20 69 73 20 74  |record that is t|
00002830  68 65 20 63 6c 6f 73 65  73 74 20 6d 61 74 63 68  |he closest match|
00002840  2e 20 55 70 6f 6e 20 64  65 63 69 64 69 6e 67 20  |. Upon deciding |
00002850  77 68 69 63 68 20 69 73  20 74 68 65 20 62 65 73  |which is the bes|
00002860  74 20 0d 20 20 20 20 20  20 62 65 74 2c 20 69 74  |t .      bet, it|
00002870  20 77 69 6c 6c 20 70 72  69 6e 74 20 6f 75 74 20  | will print out |
00002880  74 68 65 20 63 6c 6f 73  65 73 74 20 6d 61 74 63  |the closest matc|
00002890  68 69 6e 67 20 72 65 63  6f 72 64 2e 20 53 6f 2c  |hing record. So,|
000028a0  20 66 6f 72 20 65 78 61  6d 70 6c 65 2c 20 0d 20  | for example, . |
000028b0  20 20 20 20 20 69 66 20  79 6f 75 20 77 61 6e 74  |     if you want|
000028c0  65 64 20 74 6f 20 6b 6e  6f 77 20 4d 69 6b 65 27  |ed to know Mike'|
000028d0  73 20 70 68 6f 6e 65 20  6e 75 6d 62 65 72 2c 20  |s phone number, |
000028e0  79 6f 75 20 77 6f 75 6c  64 20 65 6e 74 65 72 20  |you would enter |
000028f0  4d 69 6b 65 20 69 6e 74  6f 20 0d 20 20 20 20 20  |Mike into .     |
00002900  20 74 68 65 20 6e 61 6d  65 20 66 69 65 6c 64 2c  | the name field,|
00002910  20 61 6e 64 20 74 68 65  6e 20 74 68 65 20 63 6f  | and then the co|
00002920  6d 70 75 74 65 72 20 77  6f 75 6c 64 20 63 6f 6d  |mputer would com|
00002930  65 20 75 70 20 77 69 74  68 20 74 68 65 20 72 65  |e up with the re|
00002940  73 74 20 6f 66 20 0d 20  20 20 20 20 20 68 69 73  |st of .      his|
00002950  20 72 65 63 6f 72 64 2e  20 49 66 20 74 68 65 72  | record. If ther|
00002960  65 20 77 65 72 65 20 74  77 6f 20 4d 69 6b 65 27  |e were two Mike'|
00002970  73 20 69 6e 20 74 68 65  20 66 69 6c 65 20 74 68  |s in the file th|
00002980  65 6e 20 79 6f 75 20 77  6f 75 6c 64 20 68 61 76  |en you would hav|
00002990  65 20 0d 20 20 20 20 20  20 74 6f 20 73 70 65 63  |e .      to spec|
000029a0  69 66 79 20 68 69 73 20  73 65 63 6f 6e 64 20 6e  |ify his second n|
000029b0  61 6d 65 20 69 6e 20 74  68 65 20 73 65 61 72 63  |ame in the searc|
000029c0  68 20 72 65 63 6f 72 64  20 28 69 2e 65 2e 20 4d  |h record (i.e. M|
000029d0  49 4b 45 20 44 49 58 4f  4e 29 2e 20 0d 20 20 20  |IKE DIXON). .   |
000029e0  20 20 0d 0d 0d 0d 0d 0d  0d 0d 0d 0d 0d 0d 0d 0d  |  ..............|
000029f0  0d 0d 0d 0d 0d 0d 0d 0d  0d 0d 0d 0d 0d 0d 0d 0d  |................|
*
00002a10  0d 0d 0d 0d 0d 0d 0d 0d  0d 20 20 20 20 20 20 20  |.........       |
00002a20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002a30  20 20 20 20 20 20 20 20  20 20 20 20 20 50 61 67  |             Pag|
00002a40  65 20 34 0d 0d 0d 0d 0d  0d 20 20 20 20 20 20 20  |e 4......       |
00002a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 41 20  |              A |
00002a60  44 41 54 41 2d 42 41 53  45 20 53 59 53 54 45 4d  |DATA-BASE SYSTEM|
00002a70  20 62 79 20 52 4f 42 20  41 4e 44 45 52 53 4f 4e  | by ROB ANDERSON|
00002a80  2e 0d 0d 0d 0d 20 20 20  20 20 0d 20 20 20 20 54  |.....     .    T|
00002a90  45 43 48 4e 49 43 41 4c  20 50 4f 49 4e 54 53 20  |ECHNICAL POINTS |
00002aa0  4f 46 20 54 48 45 20 50  52 4f 47 52 41 4d 20 3a  |OF THE PROGRAM :|
00002ab0  20 0d 20 20 20 20 20 0d  20 20 20 20 20 20 20 20  | .     .        |
00002ac0  20 44 41 54 41 42 41 53  45 20 69 73 20 77 72 69  | DATABASE is wri|
00002ad0  74 74 65 6e 20 74 68 65  20 77 61 79 20 6d 6f 73  |tten the way mos|
00002ae0  74 20 70 72 6f 67 72 61  6d 73 20 61 72 65 3b 20  |t programs are; |
00002af0  61 20 62 69 67 20 6d 61  69 6e 20 70 72 6f 67 72  |a big main progr|
00002b00  61 6d 20 0d 20 20 20 20  6c 6f 6f 70 20 61 74 20  |am .    loop at |
00002b10  74 68 65 20 62 65 67 69  6e 6e 69 6e 67 2c 20 66  |the beginning, f|
00002b20  6f 6c 6c 6f 77 65 64 20  62 79 20 6c 6f 61 64 73  |ollowed by loads|
00002b30  20 6f 66 20 70 72 6f 63  65 64 75 72 65 73 20 74  | of procedures t|
00002b40  68 61 74 20 61 72 65 20  63 61 6c 6c 65 64 20 0d  |hat are called .|
00002b50  20 20 20 20 75 70 20 66  72 6f 6d 20 74 68 69 73  |    up from this|
00002b60  20 6c 6f 6f 70 2e 20 42  65 63 61 75 73 65 20 6f  | loop. Because o|
00002b70  66 20 74 68 69 73 20 74  68 65 20 70 72 6f 67 72  |f this the progr|
00002b80  61 6d 20 69 73 20 71 75  69 74 65 20 65 61 73 79  |am is quite easy|
00002b90  20 74 6f 20 0d 20 20 20  20 66 6f 6c 6c 6f 77 2c  | to .    follow,|
00002ba0  20 77 69 74 68 20 65 61  63 68 20 63 6f 6d 6d 61  | with each comma|
00002bb0  6e 64 20 62 65 69 6e 67  20 61 6c 6c 6f 63 61 74  |nd being allocat|
00002bc0  65 64 20 61 20 73 65 70  61 72 61 74 65 20 73 75  |ed a separate su|
00002bd0  62 72 6f 75 74 69 6e 65  20 28 73 65 65 20 0d 20  |broutine (see . |
00002be0  20 20 20 6c 69 73 74 20  6f 66 20 70 72 6f 63 65  |   list of proce|
00002bf0  64 75 72 65 73 29 2e 20  57 68 65 72 65 20 73 70  |dures). Where sp|
00002c00  65 65 64 20 69 73 20 69  6d 70 6f 72 74 61 6e 74  |eed is important|
00002c10  20 28 65 2e 67 2e 20 77  68 65 6e 20 70 72 69 6e  | (e.g. when prin|
00002c20  74 69 6e 67 20 61 20 0d  20 20 20 20 72 65 63 6f  |ting a .    reco|
00002c30  72 64 20 77 68 69 6c 65  20 73 63 61 6e 6e 69 6e  |rd while scannin|
00002c40  67 29 2c 20 74 68 65 20  70 72 6f 67 72 61 6d 20  |g), the program |
00002c50  68 61 73 20 62 65 65 6e  20 63 6f 64 65 64 20 61  |has been coded a|
00002c60  63 63 6f 72 64 69 6e 67  6c 79 2c 20 75 73 69 6e  |ccordingly, usin|
00002c70  67 20 0d 20 20 20 20 69  6e 74 65 67 65 72 20 76  |g .    integer v|
00002c80  61 72 69 61 62 6c 65 73  20 65 74 63 2e 2e 20 0d  |ariables etc.. .|
00002c90  20 20 20 20 20 0d 20 20  20 20 20 20 20 20 20 54  |     .         T|
00002ca0  68 65 20 63 6f 64 69 6e  67 20 74 6f 20 70 65 72  |he coding to per|
00002cb0  66 6f 72 6d 20 65 61 63  68 20 6f 66 20 74 68 65  |form each of the|
00002cc0  20 66 65 61 74 75 72 65  73 20 69 73 20 66 61 69  | features is fai|
00002cd0  72 6c 79 20 73 74 61 6e  64 61 72 64 2c 20 0d 20  |rly standard, . |
00002ce0  20 20 20 62 75 74 20 77  69 74 68 20 61 20 66 65  |   but with a fe|
00002cf0  77 20 65 78 63 65 70 74  69 6f 6e 73 3b 20 74 68  |w exceptions; th|
00002d00  65 20 73 61 76 65 20 61  6e 64 20 6c 6f 61 64 20  |e save and load |
00002d10  66 75 6e 63 74 69 6f 6e  73 20 64 6f 20 74 68 65  |functions do the|
00002d20  69 72 20 6a 6f 62 20 62  79 20 0d 20 20 20 20 73  |ir job by .    s|
00002d30  61 76 69 6e 67 20 74 68  65 20 66 69 6c 65 20 61  |aving the file a|
00002d40  73 20 6f 6e 65 20 62 69  67 20 62 6c 6f 63 6b 20  |s one big block |
00002d50  6f 66 20 6d 65 6d 6f 72  79 20 28 69 2e 65 20 75  |of memory (i.e u|
00002d60  73 69 6e 67 20 2a 4c 4f  41 44 20 61 6e 64 20 0d  |sing *LOAD and .|
00002d70  20 20 20 20 2a 53 41 56  45 29 2c 20 77 68 69 63  |    *SAVE), whic|
00002d80  68 20 69 6e 69 74 69 61  6c 6c 79 20 70 6f 73 65  |h initially pose|
00002d90  73 20 61 20 70 72 6f 62  6c 65 6d 20 62 65 63 61  |s a problem beca|
00002da0  75 73 65 20 79 6f 75 20  63 61 6e 6e 6f 74 20 73  |use you cannot s|
00002db0  70 65 63 69 66 79 20 61  20 0d 20 20 20 20 66 69  |pecify a .    fi|
00002dc0  6c 65 6e 61 6d 65 20 69  6e 20 61 20 76 61 72 69  |lename in a vari|
00002dd0  61 62 6c 65 20 69 6e 20  74 68 69 73 20 63 61 73  |able in this cas|
00002de0  65 2c 20 73 6f 20 61 20  73 74 72 69 6e 67 20 68  |e, so a string h|
00002df0  61 64 20 74 6f 20 62 65  20 62 75 69 6c 74 20 75  |ad to be built u|
00002e00  70 20 69 6e 20 0d 20 20  20 20 6d 65 6d 6f 72 79  |p in .    memory|
00002e10  2c 20 61 6e 64 20 74 68  65 6e 20 70 61 73 73 65  |, and then passe|
00002e20  64 20 6f 6e 74 6f 20 74  68 65 20 63 6f 6d 6d 61  |d onto the comma|
00002e30  6e 64 20 6c 69 6e 65 20  69 6e 74 65 72 70 72 65  |nd line interpre|
00002e40  74 65 72 20 28 61 74 20  26 46 46 46 37 29 2e 20  |ter (at &FFF7). |
00002e50  0d 20 20 20 20 20 20 20  20 20 41 6c 74 68 6f 75  |.         Althou|
00002e60  67 68 20 69 6e 20 42 41  53 49 43 32 20 74 68 65  |gh in BASIC2 the|
00002e70  20 63 6f 6d 6d 61 6e 64  20 4f 53 43 4c 49 20 63  | command OSCLI c|
00002e80  6f 75 6c 64 20 62 65 20  75 73 65 64 2c 20 74 68  |ould be used, th|
00002e90  65 20 77 61 79 20 69 74  20 69 73 20 0d 20 20 20  |e way it is .   |
00002ea0  20 65 6e 73 75 72 65 73  20 63 6f 6d 70 61 74 69  | ensures compati|
00002eb0  62 69 6c 69 74 79 20 77  69 74 68 20 42 41 53 49  |bility with BASI|
00002ec0  43 31 2e 20 41 6e 6f 74  68 65 72 20 75 6e 75 73  |C1. Another unus|
00002ed0  75 61 6c 20 70 6f 69 6e  74 20 6f 66 20 74 68 65  |ual point of the|
00002ee0  20 0d 20 20 20 20 70 72  6f 67 72 61 6d 20 69 73  | .    program is|
00002ef0  20 74 68 65 20 65 78 74  65 6e 73 69 76 65 20 75  | the extensive u|
00002f00  73 65 20 6f 66 20 69 6e  64 69 72 65 63 74 69 6f  |se of indirectio|
00002f10  6e 20 6f 70 65 72 61 74  6f 72 73 20 74 6f 20 73  |n operators to s|
00002f20  74 6f 72 65 20 74 68 65  20 0d 20 20 20 20 72 65  |tore the .    re|
00002f30  63 6f 72 64 73 20 64 69  72 65 63 74 6c 79 20 69  |cords directly i|
00002f40  6e 20 6d 65 6d 6f 72 79  20 77 68 69 63 68 2c 20  |n memory which, |
00002f50  77 68 69 6c 65 20 76 65  72 79 20 6c 61 62 6f 72  |while very labor|
00002f60  69 6f 75 73 20 74 6f 20  70 72 6f 67 72 61 6d 20  |ious to program |
00002f70  69 6e 20 0d 20 20 20 20  77 68 65 6e 20 63 6f 6d  |in .    when com|
00002f80  70 61 72 65 64 20 74 6f  20 74 68 65 20 65 61 73  |pared to the eas|
00002f90  65 20 6f 66 20 75 73 65  20 6f 66 20 61 72 72 61  |e of use of arra|
00002fa0  79 73 2c 20 64 6f 65 73  20 68 61 76 65 20 69 74  |ys, does have it|
00002fb0  73 20 72 65 6c 65 76 61  6e 74 20 0d 20 20 20 20  |s relevant .    |
00002fc0  6d 65 72 69 74 73 20 74  68 61 74 20 61 72 65 20  |merits that are |
00002fd0  65 78 70 6c 61 69 6e 65  64 20 6c 61 74 65 72 2e  |explained later.|
00002fe0  20 0d 20 20 20 20 20 0d  20 20 20 20 20 20 20 20  | .     .        |
00002ff0  20 49 74 20 63 61 6e 20  62 65 20 73 65 65 6e 20  | It can be seen |
00003000  74 68 61 74 20 2a 46 58  32 30 30 2c 31 20 61 6e  |that *FX200,1 an|
00003010  64 20 2a 46 58 32 30 30  2c 30 20 61 72 65 20 75  |d *FX200,0 are u|
00003020  73 65 64 20 61 20 6c 6f  74 2c 20 77 68 69 63 68  |sed a lot, which|
00003030  20 0d 20 20 20 20 65 6e  61 62 6c 65 20 61 6e 64  | .    enable and|
00003040  20 64 69 73 61 62 6c 65  20 74 68 65 20 45 53 43  | disable the ESC|
00003050  41 50 45 20 6b 65 79 2e  20 54 68 65 20 72 65 61  |APE key. The rea|
00003060  73 6f 6e 20 69 73 20 74  68 61 74 20 77 68 69 6c  |son is that whil|
00003070  65 20 74 68 65 20 65 73  63 61 70 65 20 0d 20 20  |e the escape .  |
00003080  20 20 6b 65 79 20 77 6f  72 6b 73 20 6d 6f 73 74  |  key works most|
00003090  20 6f 66 20 74 68 65 20  74 69 6d 65 2c 20 65 6e  | of the time, en|
000030a0  61 62 6c 69 6e 67 20 79  6f 75 20 74 6f 20 67 65  |abling you to ge|
000030b0  74 20 6f 75 74 20 6f 66  20 61 20 63 6f 6d 6d 61  |t out of a comma|
000030c0  6e 64 20 74 68 61 74 20  0d 20 20 20 20 79 6f 75  |nd that .    you|
000030d0  20 61 63 63 69 64 65 6e  74 6c 79 20 65 6e 74 65  | accidently ente|
000030e0  72 65 64 2c 20 69 74 20  63 6f 75 6c 64 20 62 65  |red, it could be|
000030f0  20 64 61 6e 67 65 72 6f  75 73 20 74 6f 20 65 73  | dangerous to es|
00003100  63 61 70 65 20 77 68 65  6e 2c 20 66 6f 72 20 0d  |cape when, for .|
00003110  20 20 20 20 65 78 61 6d  70 6c 65 2c 20 64 65 6c  |    example, del|
00003120  65 74 69 6e 67 20 61 20  72 65 63 6f 72 64 20 62  |eting a record b|
00003130  65 63 61 75 73 65 20 69  66 20 45 53 43 41 50 45  |ecause if ESCAPE|
00003140  20 77 61 73 20 70 72 65  73 73 65 64 20 77 68 69  | was pressed whi|
00003150  6c 65 20 74 68 65 20 0d  20 20 20 20 70 72 6f 67  |le the .    prog|
00003160  72 61 6d 20 77 61 73 20  73 68 69 66 74 69 6e 67  |ram was shifting|
00003170  20 61 6c 6c 20 74 68 65  20 66 6f 6c 6c 6f 77 69  | all the followi|
00003180  6e 67 20 72 65 63 6f 72  64 73 20 6f 6e 20 74 6f  |ng records on to|
00003190  70 20 6f 66 20 74 68 65  20 64 65 6c 65 74 65 64  |p of the deleted|
000031a0  20 0d 20 20 20 20 72 65  63 6f 72 64 2c 20 74 68  | .    record, th|
000031b0  65 20 77 68 6f 6c 65 20  66 69 6c 65 20 63 6f 75  |e whole file cou|
000031c0  6c 64 20 62 65 20 63 6f  72 72 75 70 74 65 64 2e  |ld be corrupted.|
000031d0  20 53 6f 20 74 6f 20 70  72 65 76 65 6e 74 20 74  | So to prevent t|
000031e0  68 69 73 20 74 68 65 20  0d 20 20 20 20 65 73 63  |his the .    esc|
000031f0  61 70 65 20 6b 65 79 20  69 73 20 64 69 73 61 62  |ape key is disab|
00003200  6c 65 64 20 6a 75 73 74  20 62 65 66 6f 72 65 20  |led just before |
00003210  74 68 65 20 72 6f 75 74  69 6e 65 20 69 73 20 65  |the routine is e|
00003220  6e 74 65 72 65 64 2c 20  61 6e 64 20 74 68 65 6e  |ntered, and then|
00003230  20 0d 20 20 20 20 65 6e  61 62 6c 65 64 20 61 66  | .    enabled af|
00003240  74 65 72 20 6c 65 61 76  69 6e 67 20 74 68 65 20  |ter leaving the |
00003250  72 6f 75 74 69 6e 65 2e  20 54 68 69 73 20 69 73  |routine. This is|
00003260  20 64 6f 6e 65 20 77 69  74 68 20 6d 6f 73 74 20  | done with most |
00003270  6f 66 20 74 68 65 20 0d  20 20 20 20 72 6f 75 74  |of the .    rout|
00003280  69 6e 65 73 2e 20 0d 20  20 20 20 20 0d 20 20 20  |ines. .     .   |
00003290  20 20 20 20 20 20 54 68  65 20 73 65 61 72 63 68  |      The search|
000032a0  20 72 6f 75 74 69 6e 65  20 75 73 65 64 20 69 6e  | routine used in|
000032b0  20 74 68 65 20 70 72 6f  67 72 61 6d 20 77 6f 72  | the program wor|
000032c0  6b 73 20 6f 6e 20 61 20  74 6f 6b 65 6e 20 62 61  |ks on a token ba|
000032d0  73 69 73 2c 20 0d 20 20  20 20 67 69 76 69 6e 67  |sis, .    giving|
000032e0  20 70 6f 69 6e 74 73 20  66 6f 72 20 65 61 63 68  | points for each|
000032f0  20 66 69 65 6c 64 20 6f  66 20 61 20 72 65 63 6f  | field of a reco|
00003300  72 64 20 74 68 61 74 20  6d 61 74 63 68 65 73 20  |rd that matches |
00003310  77 69 74 68 20 74 68 65  20 73 65 61 72 63 68 20  |with the search |
00003320  0d 20 20 20 20 72 65 63  6f 72 64 2c 20 61 6e 64  |.    record, and|
00003330  20 74 68 65 6e 20 70 72  69 6e 74 69 6e 67 20 6f  | then printing o|
00003340  75 74 20 74 68 65 20 72  65 63 6f 72 64 20 74 68  |ut the record th|
00003350  61 74 20 67 6f 74 20 6d  6f 73 74 20 70 6f 69 6e  |at got most poin|
00003360  74 73 2e 20 49 66 20 74  77 6f 20 0d 20 20 20 20  |ts. If two .    |
00003370  72 65 63 6f 72 64 73 20  67 65 74 20 74 68 65 20  |records get the |
00003380  73 61 6d 65 20 70 6f 69  6e 74 73 2c 20 74 68 65  |same points, the|
00003390  20 66 69 72 73 74 20 6f  6e 65 20 65 6e 63 6f 75  | first one encou|
000033a0  6e 74 65 72 65 64 20 69  6e 20 74 68 65 20 66 69  |ntered in the fi|
000033b0  6c 65 20 69 73 20 0d 20  20 20 20 6f 75 74 70 75  |le is .    outpu|
000033c0  74 2c 20 61 6e 64 20 62  65 63 61 75 73 65 20 6f  |t, and because o|
000033d0  66 20 74 68 69 73 20 69  74 20 69 73 20 61 6c 77  |f this it is alw|
000033e0  61 79 73 20 62 65 73 74  20 74 6f 20 70 75 74 20  |ays best to put |
000033f0  61 73 20 6d 75 63 68 20  0d 20 20 20 20 69 6e 66  |as much .    inf|
00003400  6f 72 6d 61 74 69 6f 6e  20 69 6e 20 74 68 65 20  |ormation in the |
00003410  73 65 61 72 63 68 20 72  65 63 6f 72 64 20 61 73  |search record as|
00003420  20 79 6f 75 20 63 61 6e  20 72 65 6d 65 6d 62 65  | you can remembe|
00003430  72 2e 20 0d 20 20 20 20  20 0d 20 20 20 20 20 0d  |r. .     .     .|
00003440  20 20 20 20 50 52 4f 43  45 44 55 52 45 53 20 20  |    PROCEDURES  |
00003450  20 4c 49 4e 45 20 4e 4f  53 20 20 44 45 53 43 52  | LINE NOS  DESCR|
00003460  49 50 54 49 4f 4e 20 0d  20 20 20 20 20 0d 20 20  |IPTION .     .  |
00003470  20 20 69 6e 69 74 69 61  6c 69 73 65 20 20 20 33  |  initialise   3|
00003480  31 30 20 20 20 20 20 20  20 49 6e 69 74 69 61 6c  |10       Initial|
00003490  69 73 65 73 20 76 61 72  69 61 62 6c 65 73 20 65  |ises variables e|
000034a0  74 63 2e 2e 20 0d 20 20  20 20 63 68 65 63 6b 65  |tc.. .    checke|
000034b0  72 72 6f 72 20 20 20 33  37 30 20 20 20 20 20 20  |rror   370      |
000034c0  20 41 6e 61 6c 79 73 65  73 20 65 72 72 6f 72 20  | Analyses error |
000034d0  26 20 72 65 61 63 74 73  20 61 63 6f 72 64 69 6e  |& reacts acordin|
000034e0  67 6c 79 2e 20 0d 20 20  20 20 73 65 74 73 63 72  |gly. .    setscr|
000034f0  65 65 6e 20 20 20 20 33  39 30 20 20 20 20 20 20  |een    390      |
00003500  20 53 65 74 73 20 75 70  20 73 63 72 65 65 6e 2e  | Sets up screen.|
00003510  20 0d 20 20 20 20 61 20  20 20 20 20 20 20 20 20  | .    a         |
00003520  20 20 20 34 38 30 20 20  20 20 20 20 20 50 65 72  |   480       Per|
00003530  66 6f 72 6d 73 20 41 44  44 20 63 6f 6d 6d 61 6e  |forms ADD comman|
00003540  64 2e 20 0d 20 20 20 20  62 20 20 20 20 20 20 20  |d. .    b       |
00003550  20 20 20 20 20 36 32 30  20 20 20 20 20 20 20 50  |     620       P|
00003560  65 72 66 6f 72 6d 73 20  42 41 43 4b 20 63 6f 6d  |erforms BACK com|
00003570  6d 61 6e 64 2e 20 0d 20  20 20 20 64 20 20 20 20  |mand. .    d    |
00003580  20 20 20 20 20 20 20 20  36 39 30 20 20 20 20 20  |        690     |
00003590  20 20 50 65 72 66 6f 72  6d 73 20 44 45 4c 45 54  |  Performs DELET|
000035a0  45 20 63 6f 6d 6d 61 6e  64 2e 20 0d 20 20 20 20  |E command. .    |
000035b0  65 20 20 20 20 20 20 20  20 20 20 20 20 38 37 30  |e            870|
000035c0  20 20 20 20 20 20 20 50  65 72 66 6f 72 6d 73 20  |       Performs |
000035d0  45 44 49 54 20 63 6f 6d  6d 61 6e 64 2e 20 0d 20  |EDIT command. . |
000035e0  20 20 20 66 20 20 20 20  20 20 20 20 20 20 20 20  |   f            |
000035f0  31 31 32 30 20 20 20 20  20 20 50 65 72 66 6f 72  |1120      Perfor|
00003600  6d 73 20 46 4f 52 57 41  52 44 20 63 6f 6d 6d 61  |ms FORWARD comma|
00003610  6e 64 2e 20 0d 20 20 20  20 68 20 20 20 20 20 20  |nd. .    h      |
00003620  20 20 20 20 20 20 31 31  39 30 20 20 20 20 20 20  |      1190      |
00003630  50 65 72 66 6f 72 6d 73  20 48 45 4c 50 20 63 6f  |Performs HELP co|
00003640  6d 6d 61 6e 64 2e 20 0d  20 20 20 20 6b 20 20 20  |mmand. .    k   |
00003650  20 20 20 20 20 20 20 20  20 31 32 32 30 20 20 20  |         1220   |
00003660  20 20 20 50 65 72 66 6f  72 6d 73 20 4b 45 45 50  |   Performs KEEP|
00003670  20 63 6f 6d 6d 61 6e 64  2e 20 0d 20 20 20 20 6c  | command. .    l|
00003680  20 20 20 20 20 20 20 20  20 20 20 20 31 32 39 30  |            1290|
00003690  20 20 20 20 20 20 50 65  72 66 6f 72 6d 73 20 4c  |      Performs L|
000036a0  4f 41 44 20 63 6f 6d 6d  61 6e 64 2e 20 0d 20 20  |OAD command. .  |
000036b0  20 20 6e 20 20 20 20 20  20 20 20 20 20 20 20 31  |  n            1|
000036c0  33 39 30 20 20 20 20 20  20 50 65 72 66 6f 72 6d  |390      Perform|
000036d0  73 20 4e 45 57 20 63 6f  6d 6d 61 6e 64 2e 20 0d  |s NEW command. .|
000036e0  20 20 20 20 6f 20 20 20  20 20 20 20 20 20 20 20  |    o           |
000036f0  20 31 37 37 30 20 20 20  20 20 20 50 65 72 66 6f  | 1770      Perfo|
00003700  72 6d 73 20 2a 4f 53 20  63 6f 6d 6d 61 6e 64 2e  |rms *OS command.|
00003710  20 0d 20 20 20 20 70 20  20 20 20 20 20 20 20 20  | .    p         |
00003720  20 20 20 31 38 31 30 20  20 20 20 20 20 50 65 72  |   1810      Per|
00003730  66 6f 72 6d 73 20 50 52  49 4e 54 20 63 6f 6d 6d  |forms PRINT comm|
00003740  61 6e 64 2e 20 0d 20 20  20 20 73 20 20 20 20 20  |and. .    s     |
00003750  20 20 20 20 20 20 20 31  39 38 30 20 20 20 20 20  |       1980     |
00003760  20 50 65 72 66 6f 72 6d  73 20 53 45 41 52 43 48  | Performs SEARCH|
00003770  20 63 6f 6d 6d 61 6e 64  2e 20 0d 0d 0d 20 20 20  | command. ...   |
00003780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000037a0  20 50 61 67 65 20 35 0d  0d 0d 0d 0d 0d 20 20 20  | Page 5......   |
000037b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000037c0  20 20 41 20 44 41 54 41  2d 42 41 53 45 20 53 59  |  A DATA-BASE SY|
000037d0  53 54 45 4d 20 62 79 20  52 4f 42 20 41 4e 44 45  |STEM by ROB ANDE|
000037e0  52 53 4f 4e 2e 0d 0d 0d  0d 20 20 20 20 72 20 20  |RSON.....    r  |
000037f0  20 20 20 20 20 20 20 20  20 20 32 32 33 30 20 20  |          2230  |
00003800  20 20 20 20 50 65 72 66  6f 72 6d 73 20 52 45 53  |    Performs RES|
00003810  45 54 20 63 6f 6d 6d 61  6e 64 2e 20 0d 20 20 20  |ET command. .   |
00003820  20 6f 72 20 20 20 20 20  20 20 20 20 20 20 32 32  | or           22|
00003830  35 30 20 20 20 20 20 20  50 65 72 66 6f 72 6d 73  |50      Performs|
00003840  20 4f 52 44 45 52 20 63  6f 6d 6d 61 6e 64 2e 20  | ORDER command. |
00003850  0d 20 20 20 20 74 6f 70  77 20 20 20 20 20 20 20  |.    topw       |
00003860  20 20 32 33 39 30 20 20  20 20 20 20 53 65 74 73  |  2390      Sets|
00003870  20 74 6f 70 20 74 65 78  74 20 77 69 6e 64 6f 77  | top text window|
00003880  2e 20 0d 20 20 20 20 62  6f 74 77 20 20 20 20 20  |. .    botw     |
00003890  20 20 20 20 32 34 31 30  20 20 20 20 20 20 53 65  |    2410      Se|
000038a0  74 73 20 62 6f 74 74 6f  6d 20 74 65 78 74 20 77  |ts bottom text w|
000038b0  69 6e 64 6f 77 2e 20 0d  20 20 20 20 6f 70 74 69  |indow. .    opti|
000038c0  6f 6e 73 20 20 20 20 20  20 32 34 33 30 20 20 20  |ons      2430   |
000038d0  20 20 20 50 72 69 6e 74  73 20 6f 75 74 20 63 6f  |   Prints out co|
000038e0  6d 6d 61 6e 64 73 20 61  76 61 69 6c 61 62 6c 65  |mmands available|
000038f0  20 69 6e 20 20 20 20 20  20 20 20 20 20 20 20 20  | in             |
00003900  20 20 20 0d 20 20 20 20  20 20 20 20 20 20 20 20  |   .            |
00003910  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  |               t|
00003920  68 65 20 74 6f 70 20 74  65 78 74 20 77 69 6e 64  |he top text wind|
00003930  6f 77 2e 20 0d 20 20 20  20 74 69 74 6c 65 20 20  |ow. .    title  |
00003940  20 20 20 20 20 20 32 34  35 30 20 20 20 20 20 20  |      2450      |
00003950  50 72 69 6e 74 73 20 63  6f 6d 6d 61 6e 64 20 74  |Prints command t|
00003960  68 61 74 20 68 61 73 20  6a 75 73 74 20 62 65 65  |hat has just bee|
00003970  6e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n               |
00003980  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00003990  20 20 20 20 20 20 20 20  20 20 20 20 73 65 6c 65  |            sele|
000039a0  63 74 65 64 20 69 6e 20  61 20 27 70 72 65 74 74  |cted in a 'prett|
000039b0  79 27 20 62 6c 75 65 20  62 6f 78 21 20 0d 20 20  |y' blue box! .  |
000039c0  20 20 73 70 20 20 20 20  20 20 20 20 20 20 20 32  |  sp           2|
000039d0  34 37 30 20 20 20 20 20  20 41 73 6b 73 20 75 73  |470      Asks us|
000039e0  65 72 20 74 6f 20 70 72  65 73 73 20 74 68 65 20  |er to press the |
000039f0  73 70 61 63 65 20 62 61  72 20 74 6f 20 20 20 20  |space bar to    |
00003a00  20 20 20 20 20 20 20 20  20 0d 20 20 20 20 20 20  |         .      |
00003a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003a20  20 20 20 20 20 63 6f 6e  74 69 6e 75 65 2e 20 0d  |     continue. .|
00003a30  20 20 20 20 73 75 72 65  20 20 20 20 20 20 20 20  |    sure        |
00003a40  20 32 34 39 30 20 20 20  20 20 20 41 73 6b 73 20  | 2490      Asks |
00003a50  69 66 20 79 6f 75 20 72  65 61 6c 6c 79 20 77 61  |if you really wa|
00003a60  6e 74 20 74 6f 20 20 20  20 20 20 20 20 20 20 20  |nt to           |
00003a70  20 20 20 20 20 20 20 20  20 20 20 0d 20 20 20 20  |           .    |
00003a80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003a90  20 20 20 20 20 20 20 63  6f 6e 74 69 6e 75 65 2e  |       continue.|
00003aa0  20 49 66 20 73 6f 20 27  73 73 27 3d 30 2c 20 6f  | If so 'ss'=0, o|
00003ab0  74 68 65 72 77 69 73 65  20 20 20 20 20 20 20 20  |therwise        |
00003ac0  20 20 20 20 20 20 20 0d  20 20 20 20 20 20 20 20  |       .        |
00003ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003ae0  20 20 20 27 73 73 27 3d  31 2e 20 0d 20 20 20 20  |   'ss'=1. .    |
00003af0  63 6c 65 61 72 20 20 20  20 20 20 20 20 32 35 32  |clear        252|
00003b00  30 20 20 20 20 20 20 57  69 70 65 73 20 66 69 6c  |0      Wipes fil|
00003b10  65 20 6d 65 6d 6f 72 79  2e 20 0d 20 20 20 20 70  |e memory. .    p|
00003b20  72 65 63 6f 72 64 20 20  20 20 20 20 32 35 37 30  |record      2570|
00003b30  20 20 20 20 20 20 50 72  69 6e 74 73 20 74 68 65  |      Prints the|
00003b40  20 63 75 72 72 65 6e 74  20 72 65 63 6f 72 64 20  | current record |
00003b50  68 65 6c 64 20 69 6e 20  20 20 20 20 20 20 20 20  |held in         |
00003b60  20 20 20 20 20 20 0d 20  20 20 20 20 20 20 20 20  |      .         |
00003b70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003b80  20 20 27 72 65 63 6f 72  64 27 2e 20 0d 20 20 20  |  'record'. .   |
00003b90  20 70 66 69 65 6c 64 20  20 20 20 20 20 20 32 37  | pfield       27|
00003ba0  33 30 20 20 20 20 20 20  50 72 69 6e 74 73 20 74  |30      Prints t|
00003bb0  68 65 20 66 69 65 6c 64  20 74 69 74 6c 65 73 20  |he field titles |
00003bc0  6f 66 20 74 68 65 20 20  20 20 20 20 20 20 20 20  |of the          |
00003bd0  20 20 20 20 20 20 20 20  0d 20 20 20 20 20 20 20  |        .       |
00003be0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003bf0  20 20 20 20 66 69 6c 65  2e 20 0d 20 20 20 20 67  |    file. .    g|
00003c00  66 6e 61 6d 65 20 20 20  20 20 20 20 32 38 31 30  |fname       2810|
00003c10  20 20 20 20 20 20 41 73  6b 73 20 74 68 65 20 75  |      Asks the u|
00003c20  73 65 72 20 66 6f 72 20  61 20 66 69 6c 65 6e 61  |ser for a filena|
00003c30  6d 65 2e 20 0d 20 20 20  20 65 78 69 73 74 20 20  |me. .    exist  |
00003c40  20 20 20 20 20 20 32 38  35 30 20 20 20 20 20 20  |      2850      |
00003c50  54 65 6c 6c 73 20 74 68  65 20 75 73 65 72 20 74  |Tells the user t|
00003c60  68 61 74 20 61 20 66 69  6c 65 20 61 6c 72 65 61  |hat a file alrea|
00003c70  64 79 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |dy              |
00003c80  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00003c90  20 20 20 20 20 20 20 20  20 20 20 20 65 78 69 73  |            exis|
00003ca0  74 73 2e 20 0d 20 20 20  20 6e 72 65 63 6f 72 64  |ts. .    nrecord|
00003cb0  20 20 20 20 20 20 32 38  39 30 20 20 20 20 20 20  |      2890      |
00003cc0  54 65 6c 6c 73 20 74 68  65 20 75 73 65 72 20 74  |Tells the user t|
00003cd0  68 61 74 20 74 68 65 72  65 20 61 72 65 20 6e 6f  |hat there are no|
00003ce0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003cf0  0d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00003d00  20 20 20 20 20 20 20 20  20 20 20 20 72 65 63 6f  |            reco|
00003d10  72 64 73 20 63 75 72 72  65 6e 74 6c 79 20 69 6e  |rds currently in|
00003d20  20 74 68 65 20 66 69 6c  65 2e 20 0d 20 20 20 20  | the file. .    |
00003d30  67 65 74 62 79 74 65 73  28 47 29 20 20 32 39 31  |getbytes(G)  291|
00003d40  30 20 20 20 20 20 20 47  65 74 73 20 74 68 65 20  |0      Gets the |
00003d50  63 6f 6e 74 65 6e 74 73  20 6f 66 20 61 20 74 77  |contents of a tw|
00003d60  6f 20 62 79 74 65 20 20  20 20 20 20 20 20 20 20  |o byte          |
00003d70  20 20 20 20 20 20 20 0d  20 20 20 20 20 20 20 20  |       .        |
00003d80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003d90  20 20 20 6e 75 6d 62 65  72 20 28 47 20 69 73 20  |   number (G is |
00003da0  74 68 65 20 66 69 72 73  74 20 62 79 74 65 20 6d  |the first byte m|
00003db0  69 6e 75 73 20 20 20 20  20 20 20 20 20 20 20 20  |inus            |
00003dc0  20 20 20 0d 20 20 20 20  20 20 20 20 20 20 20 20  |   .            |
00003dd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 27  |               '|
00003de0  73 74 61 72 74 61 27 29  2c 20 61 6e 64 20 70 6c  |starta'), and pl|
00003df0  61 63 65 73 20 74 68 65  20 72 65 73 75 6c 74 20  |aces the result |
00003e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |               .|
00003e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003e20  20 20 20 20 20 20 20 20  20 20 20 69 6e 20 27 48  |           in 'H|
00003e30  27 2e 20 0d 20 20 20 20  70 75 74 62 79 74 65 73  |'. .    putbytes|
00003e40  28 47 29 20 20 32 39 33  30 20 20 20 20 20 20 50  |(G)  2930      P|
00003e50  75 74 73 20 74 68 65 20  76 61 6c 75 65 20 6f 66  |uts the value of|
00003e60  20 27 48 27 20 69 6e 20  74 77 6f 20 6d 65 6d 6f  | 'H' in two memo|
00003e70  72 79 20 20 20 20 20 20  20 20 20 20 20 20 20 0d  |ry             .|
00003e80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003e90  20 20 20 20 20 20 20 20  20 20 20 62 79 74 65 73  |           bytes|
00003ea0  20 73 74 61 72 74 69 6e  67 20 61 74 20 27 47 2b  | starting at 'G+|
00003eb0  73 74 61 72 74 61 27 2e  20 0d 20 20 20 20 6f 73  |starta'. .    os|
00003ec0  63 6c 69 28 41 24 29 20  20 20 20 32 39 35 30 20  |cli(A$)    2950 |
00003ed0  20 20 20 20 20 50 61 73  73 65 73 20 27 41 24 27  |     Passes 'A$'|
00003ee0  20 6f 6e 74 6f 20 74 68  65 20 63 6f 6d 6d 61 6e  | onto the comman|
00003ef0  64 20 6c 69 6e 65 20 20  20 20 20 20 20 20 20 20  |d line          |
00003f00  20 20 20 20 20 0d 20 20  20 20 20 20 20 20 20 20  |     .          |
00003f10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003f20  20 69 6e 74 65 72 70 72  65 74 65 72 2e 20 54 68  | interpreter. Th|
00003f30  69 73 20 72 6f 75 74 69  6e 65 20 77 69 6c 6c 20  |is routine will |
00003f40  77 6f 72 6b 20 20 20 20  20 20 20 20 20 20 20 20  |work            |
00003f50  20 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00003f60  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6e 20  |             in |
00003f70  42 41 53 49 43 20 31 20  61 6e 64 20 42 41 53 49  |BASIC 1 and BASI|
00003f80  43 20 32 2e 20 0d 20 20  20 20 69 6e 70 75 74 72  |C 2. .    inputr|
00003f90  65 63 31 20 20 20 20 32  39 37 30 20 20 20 20 20  |ec1    2970     |
00003fa0  20 49 6e 70 75 74 73 20  61 20 72 65 63 6f 72 64  | Inputs a record|
00003fb0  20 66 72 6f 6d 20 74 68  65 20 6b 65 79 62 6f 61  | from the keyboa|
00003fc0  72 64 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |rd              |
00003fd0  20 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00003fe0  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6e 74  |             int|
00003ff0  6f 20 61 20 73 74 72 69  6e 67 2e 20 0d 20 20 20  |o a string. .   |
00004000  20 20 0d 20 20 20 20 49  4d 50 4f 52 54 41 4e 54  |  .    IMPORTANT|
00004010  20 56 41 52 49 41 42 4c  45 53 20 20 20 20 20 20  | VARIABLES      |
00004020  20 20 20 20 20 20 44 45  53 43 52 49 50 54 49 4f  |      DESCRIPTIO|
00004030  4e 20 0d 20 20 20 20 20  0d 20 20 20 20 41 25 2c  |N .     .    A%,|
00004040  42 25 2c 43 25 2c 44 25  2c 45 25 2c 46 25 2c 47  |B%,C%,D%,E%,F%,G|
00004050  25 2c 58 25 2c 59 25 20  20 20 20 20 55 53 45 44  |%,X%,Y%     USED|
00004060  20 49 4e 20 56 41 52 49  4f 55 53 20 4c 4f 4f 50  | IN VARIOUS LOOP|
00004070  53 2e 20 0d 20 20 20 20  41 2c 42 2c 43 2c 44 2c  |S. .    A,B,C,D,|
00004080  45 2c 46 2c 47 2c 48 2c  49 2c 4a 2c 4b 20 20 20  |E,F,G,H,I,J,K   |
00004090  20 20 20 20 20 20 20 55  53 45 44 20 49 4e 20 56  |       USED IN V|
000040a0  41 52 49 4f 55 53 20 4c  4f 4f 50 53 2e 20 0d 20  |ARIOUS LOOPS. . |
000040b0  20 20 20 66 6c 61 67 20  20 20 20 20 20 20 20 20  |   flag         |
000040c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000040d0  20 20 55 73 65 64 20 74  6f 20 66 6c 61 67 20 63  |  Used to flag c|
000040e0  65 72 74 61 69 6e 20 65  76 65 6e 74 73 2e 20 0d  |ertain events. .|
000040f0  20 20 20 20 66 6c 61 67  32 20 20 20 20 20 20 20  |    flag2       |
00004100  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004110  20 20 20 55 73 65 64 20  74 6f 20 66 6c 61 67 20  |   Used to flag |
00004120  63 65 72 74 61 69 6e 20  65 76 65 6e 74 73 2e 20  |certain events. |
00004130  0d 20 20 20 20 72 65 63  6f 72 64 20 20 20 20 20  |.    record     |
00004140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004150  20 20 20 20 48 6f 6c 64  73 20 72 65 63 6f 72 64  |    Holds record|
00004160  20 6e 75 6d 62 65 72 20  74 68 61 74 20 69 73 20  | number that is |
00004170  63 75 72 72 65 6e 74 6c  79 20 0d 20 20 20 20 20  |currently .     |
00004180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004190  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 62  |               b|
000041a0  65 69 6e 67 20 64 69 73  70 6c 61 79 65 64 2e 20  |eing displayed. |
000041b0  0d 20 20 20 20 73 73 20  20 20 20 20 20 20 20 20  |.    ss         |
000041c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000041d0  20 20 20 20 41 20 66 6c  61 67 20 66 6f 72 20 50  |    A flag for P|
000041e0  52 4f 43 45 44 55 52 45  20 27 73 75 72 65 27 20  |ROCEDURE 'sure' |
000041f0  0d 20 20 20 20 73 74 61  72 74 61 20 20 20 20 20  |.    starta     |
00004200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004210  20 20 20 20 50 6f 69 6e  74 73 20 61 74 20 73 74  |    Points at st|
00004220  61 72 74 20 6f 66 20 6d  65 6d 6f 72 79 20 66 6f  |art of memory fo|
00004230  72 20 74 68 65 20 66 69  6c 65 2e 20 0d 20 20 20  |r the file. .   |
00004240  20 41 24 2c 42 24 2c 43  24 20 20 20 20 20 20 20  | A$,B$,C$       |
00004250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004260  55 73 65 64 20 66 6f 72  20 76 61 72 69 6f 75 73  |Used for various|
00004270  20 73 74 72 69 6e 67 20  68 61 6e 64 6c 69 6e 67  | string handling|
00004280  20 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00004290  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000042a0  20 20 20 20 20 20 72 6f  75 74 69 6e 65 73 2e 20  |      routines. |
000042b0  0d 20 20 20 20 66 69 6c  65 24 20 20 20 20 20 20  |.    file$      |
000042c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000042d0  20 20 20 20 48 6f 6c 64  73 20 6c 61 73 74 20 66  |    Holds last f|
000042e0  69 6c 65 6e 61 6d 65 20  65 6e 74 65 72 65 64 2e  |ilename entered.|
000042f0  20 0d 20 20 20 20 66 24  28 31 36 29 2c 6c 65 28  | .    f$(16),le(|
00004300  31 36 29 2c 6c 65 6e 28  31 36 29 20 20 20 20 20  |16),len(16)     |
00004310  20 20 20 20 20 55 73 65  64 20 74 6f 20 68 6f 6c  |     Used to hol|
00004320  64 20 61 20 72 65 63 6f  72 64 20 61 73 20 61 20  |d a record as a |
00004330  73 74 72 69 6e 67 2e 20  0d 20 20 20 20 20 0d 20  |string. .     . |
00004340  20 20 20 46 49 4c 45 20  46 4f 52 4d 41 54 20 3a  |   FILE FORMAT :|
00004350  20 0d 20 20 20 20 20 0d  20 20 20 20 20 20 20 20  | .     .        |
00004360  20 54 68 65 20 72 65 63  6f 72 64 73 2c 20 66 69  | The records, fi|
00004370  65 6c 64 20 74 69 74 6c  65 73 20 61 6e 64 20 66  |eld titles and f|
00004380  69 65 6c 64 20 6c 65 6e  67 74 68 73 20 61 72 65  |ield lengths are|
00004390  20 61 6c 6c 20 6b 65 70  74 20 69 6e 20 0d 20 20  | all kept in .  |
000043a0  20 20 6d 65 6d 6f 72 79  20 75 70 20 61 62 6f 76  |  memory up abov|
000043b0  65 20 74 68 65 20 42 41  53 49 43 20 70 72 6f 67  |e the BASIC prog|
000043c0  72 61 6d 2c 20 61 6e 64  20 61 72 65 20 64 75 6d  |ram, and are dum|
000043d0  70 65 64 20 64 69 72 65  63 74 6c 79 20 74 68 65  |ped directly the|
000043e0  72 65 20 75 73 69 6e 67  20 0d 20 20 20 20 69 6e  |re using .    in|
000043f0  64 69 72 65 63 74 69 6f  6e 20 6f 70 65 72 61 74  |direction operat|
00004400  6f 72 73 2e 20 54 68 65  20 72 65 61 73 6f 6e 20  |ors. The reason |
00004410  66 6f 72 20 74 68 69 73  20 69 73 20 6d 61 69 6e  |for this is main|
00004420  6c 79 20 66 6f 72 20 6d  65 6d 6f 72 79 20 73 61  |ly for memory sa|
00004430  76 69 6e 67 20 0d 20 20  20 20 62 65 63 61 75 73  |ving .    becaus|
00004440  65 20 61 6c 74 68 6f 75  67 68 20 73 74 72 69 6e  |e although strin|
00004450  67 20 61 72 72 61 79 73  20 61 72 65 20 76 65 72  |g arrays are ver|
00004460  79 20 6e 69 63 65 20 61  6e 64 20 65 61 73 79 20  |y nice and easy |
00004470  74 6f 20 75 73 65 2c 20  74 68 65 79 20 0d 20 20  |to use, they .  |
00004480  20 20 74 65 6e 64 20 74  6f 20 74 61 6b 65 20 75  |  tend to take u|
00004490  70 20 61 20 6c 6f 74 20  6f 66 20 6d 65 6d 6f 72  |p a lot of memor|
000044a0  79 2c 20 77 68 69 63 68  20 69 73 20 76 65 72 79  |y, which is very|
000044b0  20 69 6d 70 6f 72 74 61  6e 74 20 77 68 65 6e 20  | important when |
000044c0  61 6c 6c 20 74 68 65 20  0d 20 20 20 20 72 65 63  |all the .    rec|
000044d0  6f 72 64 73 20 61 72 65  20 69 6e 20 6d 65 6d 6f  |ords are in memo|
000044e0  72 79 20 61 74 20 6f 6e  63 65 2e 20 0d 20 20 20  |ry at once. .   |
000044f0  20 20 0d 20 20 20 20 20  20 20 20 20 54 68 65 20  |  .         The |
00004500  61 63 74 75 61 6c 20 63  6f 6e 74 65 6e 74 73 20  |actual contents |
00004510  6f 66 20 74 68 65 20 66  69 6c 65 20 73 74 61 72  |of the file star|
00004520  74 20 61 74 20 74 68 65  20 6d 65 6d 6f 72 79 20  |t at the memory |
00004530  6c 6f 63 61 74 69 6f 6e  20 0d 0d 0d 20 20 20 20  |location ...    |
00004540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00004560  50 61 67 65 20 36 0d 0d  0d 0d 0d 0d 20 20 20 20  |Page 6......    |
00004570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004580  20 41 20 44 41 54 41 2d  42 41 53 45 20 53 59 53  | A DATA-BASE SYS|
00004590  54 45 4d 20 62 79 20 52  4f 42 20 41 4e 44 45 52  |TEM by ROB ANDER|
000045a0  53 4f 4e 2e 0d 0d 0d 0d  20 20 20 20 73 74 6f 72  |SON.....    stor|
000045b0  65 64 20 69 6e 20 27 73  74 61 72 74 61 27 2c 20  |ed in 'starta', |
000045c0  77 68 65 72 65 20 74 68  65 20 70 61 73 73 77 6f  |where the passwo|
000045d0  72 64 2c 20 66 69 65 6c  64 20 74 69 74 6c 65 73  |rd, field titles|
000045e0  2c 20 65 74 63 2e 20 61  72 65 20 6b 65 70 74 2e  |, etc. are kept.|
000045f0  20 0d 20 20 20 20 41 66  74 65 72 20 74 68 69 73  | .    After this|
00004600  20 63 6f 6d 65 73 20 74  68 65 20 72 65 63 6f 72  | comes the recor|
00004610  64 73 20 74 68 65 6d 73  65 6c 76 65 73 20 77 68  |ds themselves wh|
00004620  69 63 68 20 66 6f 6c 6c  6f 77 20 6f 6e 20 6f 6e  |ich follow on on|
00004630  65 20 61 66 74 65 72 20  74 68 65 20 0d 20 20 20  |e after the .   |
00004640  20 6f 74 68 65 72 2e 20  0d 20 20 20 20 20 0d 20  | other. .     . |
00004650  20 20 20 20 0d 20 20 20  20 4d 45 4d 4f 52 59 20  |    .    MEMORY |
00004660  55 53 41 47 45 20 3a 20  0d 20 20 20 20 20 0d 20  |USAGE : .     . |
00004670  20 20 20 20 20 20 20 20  44 41 54 41 42 41 53 45  |        DATABASE|
00004680  20 69 73 20 61 20 31 30  6b 20 42 41 53 49 43 20  | is a 10k BASIC |
00004690  70 72 6f 67 72 61 6d 20  77 68 69 63 68 20 63 61  |program which ca|
000046a0  6e 20 62 65 20 72 75 6e  20 61 74 20 61 6e 79 20  |n be run at any |
000046b0  50 41 47 45 20 0d 20 20  20 20 61 64 64 72 65 73  |PAGE .    addres|
000046c0  73 20 6c 65 73 73 20 74  68 61 6e 20 6f 72 20 65  |s less than or e|
000046d0  71 75 61 6c 20 74 6f 20  26 31 39 30 30 2e 20 54  |qual to &1900. T|
000046e0  68 65 20 64 61 74 61 20  66 69 6c 65 20 72 65 73  |he data file res|
000046f0  69 64 65 73 20 61 74 20  26 34 35 30 30 2c 20 0d  |ides at &4500, .|
00004700  20 20 20 20 77 68 69 63  68 20 69 73 20 77 68 61  |    which is wha|
00004710  74 20 74 68 65 20 70 72  6f 67 72 61 6d 20 73 65  |t the program se|
00004720  74 73 20 48 49 4d 45 4d  20 74 6f 2c 20 73 6f 20  |ts HIMEM to, so |
00004730  61 73 20 74 6f 20 70 72  65 76 65 6e 74 20 42 41  |as to prevent BA|
00004740  53 49 43 20 0d 20 20 20  20 72 75 6e 6e 69 6e 67  |SIC .    running|
00004750  20 69 6e 74 6f 20 74 68  65 20 64 61 74 61 20 66  | into the data f|
00004760  69 6c 65 2e 20 0d 20 20  20 20 20 0d 20 20 20 20  |ile. .     .    |
00004770  20 20 20 20 20 54 68 65  20 54 4f 50 20 6f 66 20  |     The TOP of |
00004780  74 68 65 20 70 72 6f 67  72 61 6d 20 69 73 20 61  |the program is a|
00004790  74 20 61 62 6f 75 74 20  26 34 30 30 30 2c 20 77  |t about &4000, w|
000047a0  68 69 63 68 20 6c 65 61  76 65 73 20 0d 20 20 20  |hich leaves .   |
000047b0  20 28 48 49 4d 45 4d 2d  54 4f 50 29 3d 31 6b 20  | (HIMEM-TOP)=1k |
000047c0  62 79 74 65 73 20 66 6f  72 20 76 61 72 69 61 62  |bytes for variab|
000047d0  6c 65 20 73 74 6f 72 61  67 65 2e 20 54 68 65 20  |le storage. The |
000047e0  74 6f 70 20 6f 66 20 75  73 65 72 20 6d 65 6d 6f  |top of user memo|
000047f0  72 79 20 69 73 20 0d 20  20 20 20 26 37 43 30 30  |ry is .    &7C00|
00004800  2c 20 73 6f 20 74 68 69  73 20 6c 65 61 76 65 73  |, so this leaves|
00004810  20 28 26 37 43 30 30 2d  26 34 35 30 30 29 3d 31  | (&7C00-&4500)=1|
00004820  34 6b 20 62 79 74 65 73  20 6f 66 20 6d 65 6d 6f  |4k bytes of memo|
00004830  72 79 20 66 72 65 65 20  66 6f 72 20 74 68 65 20  |ry free for the |
00004840  0d 20 20 20 20 64 61 74  61 20 66 69 6c 65 2c 20  |.    data file, |
00004850  77 68 69 63 68 20 6d 65  61 6e 73 20 74 68 61 74  |which means that|
00004860  20 74 79 70 69 63 61 6c  6c 79 20 61 62 6f 75 74  | typically about|
00004870  20 32 30 30 20 72 65 63  6f 72 64 73 20 6f 66 20  | 200 records of |
00004880  35 20 66 69 65 6c 64 73  20 6f 66 20 0d 20 20 20  |5 fields of .   |
00004890  20 31 30 20 63 68 61 72  61 63 74 65 72 73 20 70  | 10 characters p|
000048a0  65 72 20 66 69 65 6c 64  20 63 61 6e 20 62 65 20  |er field can be |
000048b0  65 6e 74 65 72 65 64 2c  20 77 68 69 63 68 20 69  |entered, which i|
000048c0  73 20 71 75 69 74 65 20  61 20 75 73 65 66 75 6c  |s quite a useful|
000048d0  20 73 69 7a 65 2e 20 0d  20 20 20 20 20 0d 20 20  | size. .     .  |
000048e0  20 20 4d 45 4d 4f 52 59  20 55 53 41 47 45 20 53  |  MEMORY USAGE S|
000048f0  55 4d 4d 41 52 59 20 3a  20 0d 20 20 20 20 20 0d  |UMMARY : .     .|
00004900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004910  20 20 20 20 20 20 20 20  20 20 2e 20 20 20 20 20  |          .     |
00004920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2e  |               .|
00004930  20 0d 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00004940  20 20 20 20 20 20 20 20  20 20 20 20 2e 20 20 20  |            .   |
00004950  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004960  20 2e 20 0d 20 20 20 20  20 20 20 20 20 20 20 20  | . .            |
00004970  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2e 20  |              . |
00004980  20 20 20 20 20 20 4d 4f  44 45 20 37 20 20 20 20  |      MODE 7    |
00004990  20 20 20 2e 20 0d 20 20  20 20 20 20 20 20 20 20  |   . .          |
000049a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000049b0  2e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000049c0  20 20 20 20 20 2e 20 0d  20 20 20 20 20 20 20 20  |     . .        |
000049d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000049e0  20 20 5f 5f 5f 5f 5f 5f  5f 5f 5f 5f 5f 5f 5f 5f  |  ______________|
000049f0  5f 5f 5f 00 00 00 00 00  00 00 00 00 00 00 00 00  |___.............|
00004a00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00004f10  00 00 45 20 74 68 65 72  65 20 61 72 65 20 61 20  |..E there are a |
00004f20  66 65 77 20 6c 69 74 74  6c 65 20 74 69 70 73 20  |few little tips |
00004f30  74 68 61 74 20 63 61 6e  20 6d 61 6b 65 20 69 74  |that can make it|
00004f40  20 0d 20 20 20 20 65 61  73 69 65 72 20 61 6e 64  | .    easier and|
00004f50  20 6d 6f 72 65 20 65 66  66 69 63 69 65 6e 74 20  | more efficient |
00004f60  74 6f 20 75 73 65 2e 20  0d 20 20 20 20 20 0d 20  |to use. .     . |
00004f70  20 20 20 20 20 20 20 20  57 68 65 6e 20 64 65 66  |        When def|
00004f80  69 6e 69 6e 67 20 61 20  4e 45 57 20 72 65 63 6f  |ining a NEW reco|
00004f90  72 64 2c 20 74 68 69 6e  6b 20 63 61 72 65 66 75  |rd, think carefu|
00004fa0  6c 6c 79 20 61 62 6f 75  74 20 68 6f 77 20 74 6f  |lly about how to|
00004fb0  20 64 65 66 69 6e 65 20  0d 20 20 20 20 69 74 20  | define .    it |
00004fc0  62 65 63 61 75 73 65 20  6f 6e 63 65 20 73 65 74  |because once set|
00004fd0  20 6f 75 74 2c 20 69 74  20 63 61 6e 6e 6f 74 20  | out, it cannot |
00004fe0  62 65 20 63 68 61 6e 67  65 64 20 77 68 69 63 68  |be changed which|
00004ff0  20 6d 65 61 6e 73 20 74  68 61 74 20 69 66 20 79  | means that if y|
00005000  6f 75 20 0d 20 20 20 20  68 61 76 65 20 65 6e 74  |ou .    have ent|
00005010  65 72 65 64 20 73 61 79  20 31 30 30 20 72 65 63  |ered say 100 rec|
00005020  6f 72 64 73 2c 20 61 6e  64 20 74 68 65 6e 20 66  |ords, and then f|
00005030  69 6e 64 20 6f 75 74 20  74 68 61 74 20 79 6f 75  |ind out that you|
00005040  20 6e 65 65 64 20 61 6e  6f 74 68 65 72 20 0d 20  | need another . |
00005050  20 20 20 66 69 65 6c 64  20 66 6f 72 20 63 65 72  |   field for cer|
00005060  74 61 69 6e 20 65 6e 74  72 69 65 73 2c 20 79 6f  |tain entries, yo|
00005070  75 20 77 69 6c 6c 20 68  61 76 65 20 74 6f 20 74  |u will have to t|
00005080  79 70 65 20 74 68 65 20  77 68 6f 6c 65 20 66 69  |ype the whole fi|
00005090  6c 65 20 69 6e 20 0d 20  20 20 20 61 67 61 69 6e  |le in .    again|
000050a0  21 20 42 65 63 61 75 73  65 20 6f 66 20 74 68 69  |! Because of thi|
000050b0  73 2c 20 69 74 20 69 73  20 61 6c 73 6f 20 61 20  |s, it is also a |
000050c0  67 6f 6f 64 20 69 64 65  61 20 74 6f 20 68 61 76  |good idea to hav|
000050d0  65 20 61 20 66 69 65 6c  64 20 63 61 6c 6c 65 64  |e a field called|
000050e0  20 0d 0d 0d 20 20 20 20  20 20 20 20 20 20 20 20  | ...            |
000050f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005100  20 20 20 20 20 20 20 20  50 61 67 65 20 37 0d 0d  |        Page 7..|
00005110  0d 0d 0d 0d 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00005120  20 20 20 20 20 20 20 20  20 41 20 44 41 54 41 2d  |         A DATA-|
00005130  42 41 53 45 20 53 59 53  54 45 4d 20 62 79 20 52  |BASE SYSTEM by R|
00005140  4f 42 20 41 4e 44 45 52  53 4f 4e 2e 0d 0d 0d 0d  |OB ANDERSON.....|
00005150  20 20 20 20 27 41 4e 59  54 48 49 4e 47 20 45 4c  |    'ANYTHING EL|
00005160  53 45 27 20 6f 72 20 27  4d 49 53 43 45 4c 4c 41  |SE' or 'MISCELLA|
00005170  4e 45 4f 55 53 27 2c 20  66 6f 72 20 72 65 63 6f  |NEOUS', for reco|
00005180  72 64 73 20 74 68 61 74  20 6d 61 79 20 68 61 76  |rds that may hav|
00005190  65 20 75 6e 75 73 75 61  6c 20 0d 20 20 20 20 65  |e unusual .    e|
000051a0  6e 74 72 69 65 73 2e 20  0d 20 20 20 20 20 0d 20  |ntries. .     . |
000051b0  20 20 20 20 20 20 20 20  57 68 65 6e 20 65 6e 74  |        When ent|
000051c0  65 72 69 6e 67 20 79 6f  75 72 20 66 69 65 6c 64  |ering your field|
000051d0  20 74 69 74 6c 65 73 2c  20 79 6f 75 20 63 61 6e  | titles, you can|
000051e0  20 73 74 69 6c 6c 20 75  73 65 20 74 68 65 20 66  | still use the f|
000051f0  75 6e 63 74 69 6f 6e 20  0d 20 20 20 20 6b 65 79  |unction .    key|
00005200  73 20 74 6f 20 67 65 74  20 4d 4f 44 45 20 37 20  |s to get MODE 7 |
00005210  63 6f 6c 6f 75 72 65 64  20 63 68 61 72 61 63 74  |coloured charact|
00005220  65 72 73 2c 20 77 68 69  63 68 20 65 6e 61 62 6c  |ers, which enabl|
00005230  65 73 20 79 6f 75 20 74  6f 20 73 65 74 20 75 70  |es you to set up|
00005240  20 61 20 0d 20 20 20 20  66 69 6c 65 20 74 68 61  | a .    file tha|
00005250  74 20 73 74 61 6e 64 73  20 6f 75 74 20 77 65 6c  |t stands out wel|
00005260  6c 2c 20 6d 61 6b 69 6e  67 20 69 74 20 65 61 73  |l, making it eas|
00005270  69 65 72 20 61 6e 64 20  6d 6f 72 65 20 63 6f 6c  |ier and more col|
00005280  6f 75 72 66 75 6c 20 74  6f 20 75 73 65 20 0d 20  |ourful to use . |
00005290  20 20 20 28 61 6c 74 68  6f 75 67 68 20 79 6f 75  |   (although you|
000052a0  20 6d 61 79 20 67 65 74  20 66 75 6e 6e 79 20 6e  | may get funny n|
000052b0  6f 69 73 65 73 20 63 6f  6d 69 6e 67 20 66 72 6f  |oises coming fro|
000052c0  6d 20 79 6f 75 72 20 70  72 69 6e 74 65 72 20 77  |m your printer w|
000052d0  68 65 6e 20 0d 20 20 20  20 70 72 69 6e 74 69 6e  |hen .    printin|
000052e0  67 20 61 20 72 65 63 6f  72 64 21 29 2e 20 0d 20  |g a record!). . |
000052f0  20 20 20 20 0d 20 20 20  20 20 20 20 20 20 49 66  |    .         If|
00005300  20 79 6f 75 20 68 61 76  65 20 6e 6f 20 6e 65 65  | you have no nee|
00005310  64 20 66 6f 72 20 73 65  63 75 72 69 74 79 20 70  |d for security p|
00005320  72 65 63 61 75 74 69 6f  6e 73 2c 20 75 73 65 20  |recautions, use |
00005330  74 68 65 20 70 61 73 73  77 6f 72 64 20 0d 20 20  |the password .  |
00005340  20 20 27 44 41 54 41 42  41 53 45 27 20 66 6f 72  |  'DATABASE' for|
00005350  20 79 6f 75 72 20 66 69  6c 65 2c 20 61 73 20 74  | your file, as t|
00005360  68 69 73 20 69 73 20 73  75 67 67 65 73 74 65 64  |his is suggested|
00005370  20 62 79 20 74 68 65 20  70 72 6f 67 72 61 6d 20  | by the program |
00005380  77 68 69 63 68 20 0d 20  20 20 20 6d 61 6b 65 73  |which .    makes|
00005390  20 69 74 20 69 6d 70 6f  73 73 69 62 6c 65 20 66  | it impossible f|
000053a0  6f 72 20 79 6f 75 20 74  6f 20 66 6f 72 67 65 74  |or you to forget|
000053b0  21 20 0d 20 20 20 20 20  0d 20 20 20 20 20 20 20  |! .     .       |
000053c0  20 20 41 73 20 61 20 66  69 6e 61 6c 6c 79 20 6e  |  As a finally n|
000053d0  6f 74 65 2c 20 41 4c 57  41 59 53 20 4b 45 45 50  |ote, ALWAYS KEEP|
000053e0  20 43 4f 50 49 45 53 20  4f 46 20 59 4f 55 52 20  | COPIES OF YOUR |
000053f0  44 41 54 41 20 46 49 4c  45 53 2c 20 62 65 63 61  |DATA FILES, beca|
00005400  75 73 65 20 0d 20 20 20  20 69 66 20 79 6f 75 20  |use .    if you |
00005410  64 6f 6e 27 74 20 79 6f  75 27 6c 6c 20 68 61 76  |don't you'll hav|
00005420  65 20 74 6f 20 6c 65 61  72 6e 20 74 68 65 20 68  |e to learn the h|
00005430  61 72 64 20 77 61 79 2c  20 73 6f 20 62 65 20 77  |ard way, so be w|
00005440  61 72 6e 65 64 21 20 0d  20 20 20 20 20 0d 20 20  |arned! .     .  |
00005450  20 20 20 0d 20 20 20 20  20 0d 20 20 20 20 20 0d  |   .     .     .|
00005460  20 20 20 20 20 0d 20 20  20 20 20 0d 20 20 20 20  |     .     .    |
00005470  20 0d 20 20 20 20 20 0d  20 20 20 20 20 0d 20 20  | .     .     .  |
00005480  20 20 20 0d 20 20 20 20  20 20 20 20 20 20 20 20  |   .            |
00005490  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000054a0  20 20 20 20 20 20 20 20  20 20 20 52 2e 53 2e 41  |           R.S.A|
000054b0  4e 44 45 52 53 4f 4e 2e  20 4a 41 4e 20 31 39 38  |NDERSON. JAN 198|
000054c0  37 2e 20 0d 0d 0d 0d 0d  0d 0d 0d 0d 0d 0d 0d 0d  |7. .............|
000054d0  0d 0d 0d 0d 0d 0d 0d 0d  0d 0d 0d 0d 0d 0d 0d 0d  |................|
000054e0  0d 0d 0d 0d 0d 0d 0d 0d  20 20 20 20 20 20 20 20  |........        |
000054f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005500  20 20 20 20 20 20 20 20  20 20 20 20 50 61 67 65  |            Page|
00005510  20 38 0d 0d 0d 0d                                 | 8....|
00005516
DBTXT.m0
DBTXT.m1
DBTXT.m2
DBTXT.m4
DBTXT.m5