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