MEMOTEXT WORD PROCESSOR INSTRUCTION MANUAL TABLE OF CONTENTS Introduction 1 Keyboard layout 2 List of commands 4 Starting up 5 Looking after text files 6 Principles of text files Creating text files 7 Text file print control commands 8 Extended control commands 12 Amend/rename/delete text files 16 Looking after data files Data file principles 17 Defining the data file 18 Putting information in 19 Printing 21 Saving & loading files 23 Out of space & short of space messages 24 A practical scenario 25 The MEMOTEXT program & manual are copyright Memosphere Computer Services Ltd/Orchid Computers Ltd 1983. No, duplication in part or in whole is permitted without prior authorisation. * MEMOTEXT * INTRODUCTION Page 1 24th March 1983 MEMOTEXT is a word-processing program specially developed to run on the Sinclair ZX-81. It is supplied in the form of a ROM cartridge that fits neatly onto the back of the computer. It supports both the Memotech RS232 and the Memotech Centronics interfaces, and can therefore be used with a large number of printers. The main features of MEMOTEXT are as follows: - The Keyboard input routine is completely redefined. Input can be done at full typing speed. - Two complementary sorts of file are supported. As well as the normal text files, you can also set up data files for mailshots etc. - You can set up prompts within, your text. Then, whenever that file is printed you will be prompted for certain information. You thus have the ability to set up general letters, and personalisemthem to suit specific needs. - Documents can be justified. The justification routine uses a flip-flop algorithm to ensure an even ratio of black to white all the way across the page - All normal word-processing facilities are available, including Search/Exchange/Move functions. - The screen is "word-Wrapped" for ease of reading. (Words are never split over two lines). - Facilities exist to save each of your files individually, or alternatively you can save a whole group together. - You can insert printer-specific commands within your text so that if your printer has emphasising or underlining capabilities etc., you can make good use of them. - Headings and page numbering are supported. - Certain information (e.g. Dates), can be set up when you first enter the program. These will be picked up automatically on printing, so you do not need to access your text to put them in. The remainder of this manual will tell you how to take advantage of all the facilities that MEMOTEXT has to offer. X MEMOTEXT X Page 2 24th March 1983 KEYBOARD LAYOUT The keyboard has been programmed to function as follows: Letter keys (unshifted) Lower case letters Letter keys (shifted) Upper case letters Space Key Space regardless of shift Full Stop/Comma key Comma if shifted, otherwise Full Stop Number keys (unshifted) The relevant number Number keys (shifted) "1" - Command symbol "2" - No effect "3" - Change to extended mode "4" - No effect "5-8" - Move cursor "9" - No effect "0" - Rub out character Symbol keys To get the symbol on the key, you should press the Shift key and the Newline key together. this will result in the cursor shown on screen changing to solid black. You should then press the symbol key. Holding down the shift key at the same time as pressing the symbol will result in the symbol being shown on a black backqround. Yrou should consult the Memotech interface manual to see, the ASCII character that will be printed when such a symbol is met. The table above tells you how the keyboard is interpreted while you are inputting test files. Under other circumstances there are monor differences. These differences are mainly restrictions. (MEMOTEXT incorporates the tried and trusted principle that it is better to stop, you putting in wrong information at all, rather than trying to sort out errors at a later stage.) These differences are itemised below: 1) While feeding in information on data records: a) Shifted 1 and shifted 3 have no etfect. b) Shifted 6 moves the cursor to the start of the next field. c) Shifted 7 moves the cursor to the start of the previous field. d) Pressing the Newline key on its own writes the record to the file. (You should note that the unshifted Newline key has X MEMOTEXT x Page 3 24th March 1983 no effect during text file processing as line spacing on the print-out is controled by commands embedded in the text file.) 2) While feeding in information in response to selection prompts: Selection prompts are where you are asked to choose between two or three possibilities. Here, you will notice that no cursor appears at the bottom of the screen and that the first letters of the various choices given in the prompt are inverted. You should reply by pressing the appropriate (unshifted) Ietter . No other reply will be accepted. 3) While putting in information in response to "Function?" and "Name?" prompts: The only valid characters are the unshifted Ietters and numbers; the sideways cursor move keys (shifted 5 & 8); the rubout key (shifted 0); and the Newline key to indicate that you have finished entry . 4) While putting in information in reply to other program prompts: As 3) above except that you can use any symbol and also use spaces. 5) While replyinq to "INPUT" prompts prior to printing: INPUT prompts are prompts that you have embedded in your text file and that will be used to prompt for information when you come to print that text file.MEMOTEXT does not restrict the length of your reply as it does with the other prompts, and in fact you will be given the impression that you are setting up a text file . However, you will not be able to put in the command symbol (shifted 1), and the extended commands you can use are restricted. You still have to use the extended command "q" to end the input, just as in text files. (It is too easy to hit the Newline key by mistake.) x MEMOTEXT X Page 4 24th March 1983 LIST OF COMMANDS The following commands are available within MEMOTEXT. Note that they are all 3-letters, and that with the exception of DSP they are simply the starting letters of the words describing the function. ADF - Amend Data File ATF - Amend Text File CDF - Create Data File CTF - Create Text File DDF - Delete Data File DSP - Display files currently in memory DTF - Delete Text File LAF - Load All Files LDF - Load Data File LTF - Load Text File MDF - Maintain Data File PTF - Print Text File RDF - Rename Data File RTF - Rename Text File SAF - Save all Files SDF - SAve Data Files STF - Save Text Files You should note that you cannot rename text or data files by the ATF & ADF functions. You must use the Rename functions. Note also that function ADF only allows you to change what you call the individual fields within a data file. To amend any of the records themselves, (or indeed to create & delete records), you need to use function MDF. More details on each of these functions follows in subsequent sections. *MEMOTEXT* Page 5 24th March 1983 STARTING UP When you first plug in MEMOTEXT and switch on the power to your computer, the first prompt will ask you if you are using the Centronics or the RS232 Interface. In common with all prompts where you are asted to make a simple choice between alternatives, you should reply by typing the first letter of the alternative you require. If you are operating with a Centronics Interface you should reply "C", and with our RS232 Interface you should reply "R". When using the MEMOTECH RS232 Interface you s should remember to set the Baud rate before you switch on the MEMOTEXT. (Refer to the MEMOTECH RS232 booklet for further information) Having specified the interface the prompt "DATE1?" will appear. The information you put in in reply to this prompt will be substituted in your text files when you print them (assuming you have the relevant substitute command in your text files of course). As the prompt suggests, a suggested use for this is for dates, but if you want you can put in something else you might want to substitute, e.g. a reference of some sort. The next prompt is "DATE2?". Again this is a general substitute string and the previous comments apply. You have now set up all the initialisation information,and have entered the main loop of the program. You will see the prompt "FUNCTION?". From now on you can execute various functions. As you finish each one you will be returned to this point in the program ready to start the next. You can now therefore put in the 3 code- letters of the function that you wish to use. If it is a valid function you will be prompted for further information specific to that function. * MEMOTEXT * Page 6 24th March 1983 LOOKING AFTER TEXT FILES - Functions CTF ; ATF ; RTF & DTF. 1) PRINCIPLES OF TEXT FILES People use word-processors because they want the facility to be able to modify documents easily. If you typed in the document in exactly the format that you wanted it to be printed in, you would have the same difficulties in modifying it that you would have on a normal typewriter. For example, adding, or deleting a word may involve not only adjusting the affected line, but also perhaps many other lines to compensate for the addition/deletion. Sometimes you may be substituting different information in your text every time you print it. Here you will have difficulty laying out a format on the screen as the final appearance of the document will vary conciderably depending on whether you have to substitute one word or ten lines. As well as this of course, an A4 document normally has about 66 characters on each line, and there is no way that this can be displayed on the 32-character screen ot the ZX81. The point to emphasise is that in using word-processors you should not be trying to mkte what appears on the screen look like your finished document. Rather, you should be using control codes to tell the computer how to turn your text into the finished document. Then, if you have to make a change to the document, you can normally just make the change in the text without having to worry about knock-on effects. You have the further advantage that changing indentation-etc. can normally be done simply by putting in a control code. To illustrate this principle, imagine that you have just reached the end of a paraqraph. On a typewriter,you would advance the paper and start typing on the next line. On a word-processor like MEMOTEXT you simply put in a control code to tell the computer to jump to the next line at that point when it comes to print the document. x HEMOTEXT x Page 7 24th March 1983 2) CREATING TEXT FILES To create a text file you should reply CTF to the "Function?" prompt. You will then be asked for a name. This is the name that you want to give to the text file. It can be up to 9 characters long. (If you put in more than 9, the excess will be ignored.) You will find that you can only use letters and numbers and that you must put something in. The next prompt you will see will be "Datafile Name?". A data file consists of a number of records with "personalising" information on them. A good example might be Name & Address records of all clients on a mailing list. By associatinq the text with a data file you can use MEMOTEXT to produce the same basic document over and over again, substituting information from each record in the data file in turn. If you want to use this text with a data file you shculd put in the name of the data file at this point. Otherwise just press Newline. You will now have set up an empty text file. At the top of the screen you will see the name of the text file and of the data file, and on the line below a cursor will have appeared. You can now start to put in your text and control commands. Note that unless yOU tell it differently the computer will assume that you are printing a typical A4 document, and that there will be 66 characters on each line, 60 lines with printing on every page and 6 blank lines between pages. You can change all of these by suitable control commands. When you have finished putting in your text and want to get out of the function, you have to use the extended control command "Q" (for Quit) . Before allowing} you to quit however the program l,will check to make sure that there are no control syntax errors in your text. If it finds one, it will dispIay a meaningful enror message and show you where the error lies for you to correct. Otherwise it will return you to the main loop and you will see the prompt "Function?" x MEMOTEXT X Page 8 24th March 1983 3) TEXT FILE PRINT CONTROL COMMANDS You can embed the following control commands within your text to control how it is printed. The control command must be preceded by the symbol " ", which tells the computer that the letters that follow make up a control command. (This character is obtained by pressing "1" while the shift key is being held down.) In the table below:- "nn" following a letter indicates that the letter must be followed by a number up to 2 digits long. "nnn" following a letter indicates that the letter must be followed by a number that can be up to 3 digits long (but must be less than 150). "zz" following a letter indicates that the letter must be followed by a number that is up to 2 digits Jong but which may be zero. "bb" indicates that a number is not mandatory but that numbers up to 2 digits long will be checked for. lf you use less numbers than the maximum you should ensure that the text following the control command does not start with a number. Ann Advance so that the next character is printed in column nn of the line. This command will be ignored if you are already beyond this position in the line or if nn is beyond the width of the paper. Bzz Leave zz lines between pages. C Centre everything between this command C ancl the next cammand C. If you are not right at the start of a line then an advance to the start of the next line will automatically be done in response to the first command. However, no advance is made after the second command C, so you can set up a title in the dead centre of a line and still put a page number on the right. H Everything between two command H's is considered to be a header that will be printed at the top of every subsequent page. Note that providing there is no text before the first command H in your text file then the * MEMOTEXT * Page 9 24th march 1983 header will be printed at the top of page 1. Note also that you can put in a new header anywhere in your text file which will be printed starting the next time a header is produced, so that when you get to the end of a chapter a new heading can be set up. Izz Indent zz columns. Thus if zz equals 4 subsequent lines will be printed with 4 blanks on the left hand side. To outdent you use the same command followed by zeroes. Note that characters will be printed using the indentation currently in force, so that if 10 characters have been printed on a line and you then indent 30 columns the next character will be printed in column 31. Conversely if no characters have been printed on a line and you indent to zero (outdent) then no matter what the pretwious indendation the next character will be printed in column 1. Lbb Advance bb lines. Note that if you are using justification then the line immediately preceding this command is not justified so that it loos like the end of a paragraph. L on its own; L followed by 0; and L followed by 1, all have the same effect - they move the print position onto the start of the next line. To leave 1 clear line between paragraphs you should use command L followed by 2. For 2 clear lines use commancl L followed by 3 etc. Nnn Stipulates that there are nn lines per page on which printing is possible. This includes any lines used by the header. P Move on to the start of the next page. R Print everything between here and the end of the line (which you would normally control by using a command L)as far to the right of the line as possible. S1 Substitute whatever you keyed in in response to the "Date1?" prompt at x MEMOTEXT X Page 10 24th march 1983 this point when printing. S2 Substitute whatever you keyed in in reply to the "Date2?" prompt at this point when printing. SD(Data-Field), Go to the data file associated with this text file, and from the record currently being processed, take the data recorded for this Data-Field, and substitute it in the text at this point. Note that there must be a comma at the end of the command to tell the program which characters belong to the data field. SP(Prompt), Before printing display the prompt and ask for input. This input will then be taken and substituted at this point in the text. Again the comma at the end must be there to act as a delimiter. To make it quite clear, in the previous two commands you should put either the data field you want or the prompt you want between the first 2 letters of the command and the comma. Thus if you wanted to pick up information from data field "ADDRESS", the command you would use is "SDADDRESS,". You can only use letters & numbers as part of these command strings. U Convert the hexadecimal numbers between this U command and the next U command to binary, and send them straight out to the interface at this point when printing. This is used to allow you to send specific control commands to your printer. Basically you feed in a string of hexadecimal numbers (Your printer manual will often tell you what these strings are), and MEMOTEXT will pass them through direct. It can be used to control underlining, character width etc. etc. When you quit the text file FlEMOTEXT will check to make sure that everything between the two U commands is really hexadecimal. The error-message "Half-Number" indicates that there are an uneven number of digits, and so no * MEMOTEXT * Page 11 24th march 1983 conversion to hexadecimal is possible. If there are any spaces between the two command "U"s, the program will ignore them. Wnnn Allow nnn characters to be printed on each line. (More correctly this might be expressed as setting the right hand margin position.) Z Find the current page number and print it at this point. - (minus sign) In Memotext the command - is used to indicate a soft-hyphen. (i.e. It indicates that the word can be split at this point if there is not enough room for all of it on the current print line, but that if it can all be fitted on the same line then there is no need to use the hyphen at all.) x MEMOTEXT x Page 12 24th March 1983 4) EXTENDED CONTROL COMMANDS - Whereas the normal print commands detailed in the previous secticn result in characters being inserted in the text file, extended control commands are used to perform complex functions within the text itself. The extended functions fall into 3 groups:- 1) Fast scan through the files. 2) Quitting text file editing. 3) Searching for/Exchanging/Moving blocks of text. To get an extended command you should first prese the 3 key and the shift key at the same time. You will see that the cursor changes to look like " ". You must then press a code letter or number to perform the function you want. If you press shifted 3 by mistake, you can return to normal editing simply ty pressing shifted 3 again, and the normal cursor will reappear once more. 4.1) Fast scan through the files Extended shifted 6 This causes an advance through the text equivalent to one entire screenful. Extended shifted 7 This causes the text to roll back through one screenful. You should notice that the 6 & 7 keys. have arrows on them to tell you which direction the text will move. If you have a very long piece of text you may find it quicker to use the search function described in 3) below to get to specific parts of the text. 4.2) Quitting the text file Extended Q When you have finished editing your text file the only way to quit is to use this comand. A simpler method would be too easy to hit by mistake.) Before allowing you to quit, the program will run through the text and ensure that all the print control commands are complete and valid. If it detects an error, it will display that part of the text where the error ocurrs, and tell you why there is an error at the top of the screen. Normally the cursor will be positioned in front of the command where the error lies. (The exceptions to this are where you have used one command "C" or "H", and have not closed it off by a second.) * MEMOTEXT * Page 13 24 th March 1983 If an error is pointed out, you should correct it, and then try quitting again. This "debugging" process will catch all logical errors in the print control commands, so that the only thing you will have to do when you print the text is to check the content and format. 4.3) Finding/Exchanging/Moving blocks of text Extended F This causes a search to be made through the file for a specific block of text. You first must specify what you want to find, so when you enter this command you will be asked for "Search String?", You should type in the piece of text you want to search for. Spaces and the print control symbol are perfectly valid charactercs to be included in this search string. You must begin the search string with a print control character and end it with the same. These two delimiting character will not be used on the search, but. they are needed to tell the program where the string starts and ends. (As you must have the facility to include spaces in the string, there has to be something to differnetiate between where you want to have a space as the last character in the search string, and where is no space at the end.) When you press Newline to indicate that you have finished the string, the computer will scan through the file. Whenever it finds a match it will display the prompt "Next"Stop?", and display the file at that point. If this is the bit you were trying to find you should press "S", ans you will then be able to edit the file at that point. Otherwise you should press "N", and the program will search for the next occurance of the string. If it reaches the end of the file then it will put you back into editing mode at the begining of the file. * MEMOTEXT * Page 14 24th March 1983 HINT Because no lower case letters are displayed on the ZX81, you may find that you sometimes put normal letters at the begining of sentences. If you have a long text file you may find it useful to search through on strings such as "a"; b" etc. to check that you have not mised a capital. This is used where you want to exchange one string for another. You will first be asked for the "Search String?", and you should type in the string that you want to replace. The rules for its format are exactly the same as for the search string in the FIND function above. You will then be asked for the "Exchange String?", and you should type in whatever you want to go in place of the search string. The format is exactly the same as for the search string. The program will then search through your text file stopping whenever it matches on the search string, and displaying the text at that point and the prompt "Ex./Next/Stop?". Replying "N" or "S" have exactly the same effect as in the FIND function. If you reply "E", then the matching text will be replaced by the exchange string and the program will proceed to look for any more matches. If the end of file is reached you will be put back into editing mode at the start of the text file. HINT lf you are using the print control "U" character to put in printer-specific commands in your text, for such things as underlining etc., you may find it faster to put in a dummy string wherever you want such commands to go in the text, and then use this function to replace these dummies with the full hexadecimal control string. This is used to move large blocks of text from one position in your file to another. * MEMOTEXT * Page 15 24th March 1983 It works like this: While still editing put two adjacent print control characters (shifted 1's) at the beginning of the block you want to move, and do the same at the beginning of the block. Position the cursor in the text file at the point where you want the block to be moved and ONLY THEN use the extended M command. The program will then move the block; automatically remove the control characters ; and then put you back in text file editing close to where the block has been moved to. It will not be able to do the move if you ask it to move the block somewhere stupid - like in the middle of where it alreacly is, and you will see the error message "Move in between" if you try. Sometimes there may not be enough room to store the block that you want moved while it makes space for it in the new position. So, if you see the message "Short od space",you should try splitincg the block into ssub-blocks and moving each of these in turn. * MEMOTEXT * Page 16 24th March 1983 5) AMENDING/RENAMING/DELETING TEXT FILES To amend a text file you should use function ATF, giving the name of the text file in response to the subsequent "Name?" prompt. This will take you directly into text editing mode at the start of the file. You cannot change the name of the data file associated with the text file by this function. to do this you must use function RTF. To rename a text file or to supply a new or amended datafile name, you should use function RTF. This will first ask you for the "Name?" of the file you want to change, and then prompt you to supply its new name and any new data file name. Note that even if you are not changing a data file name (and the file needs one), then you must reinput the old data file name, otherwise it will get lost. To delete a text file you should use function DTF. Immediately after you have supplied its name, the file will be deleted. If you enter this function by mistake you should type in garbage in response to the "Name?" prompt so that the program will not be able to find a match. * MEMOTEXT * Page 17 24th March 1983 LOOKING AFTER DATA FILES - FUNCTIONS CDF ; ADF ; MDF ; DDF & RDF 1) DATA FILE PRINCIPLES Data files are files used to store sets of related information, that can be used to "personalise" letters etc. As an example, imagine that you have several customers and want to produce an invoice for them. You would use MEMOTEXT to set up a text file giving the format of the fnvoice, and then create a data file for your customers. The set of information or "record" would be all the information concerning one customer, and there would be 1 record for each customer in the data file. To produce an invoice all you would need to do would be to tell MEMOTEXT that you wanted to produce a print from the text file "INVOICE", and then scan through the data file "CUSTOMERS" until you found the customer record that you wanted to use to "personalise" that invoice. (You can also ask MEMOTEXT to produce an invoice for all customers if you so wish.) Setting up data files is done by a 2-stage process. Firstly you define the name of the file and tell the program what sorts of information each record is to contain (i.e. the "Data-fields" in each record). Secondly you set up the records themselves. Defining the data file is done by function CDF. You can change this definition by function ADF later if you want. To actually put information into the file, or indeed to change or delete information ,you use the MDF function. To rename the file you use RDF, and to delete it you use function DDF. Data files can be used by any number of test files. For example, a file of Names & Addresses of customers could be used to produce invoices; statements; ant to send out price change notifications. * MEMOTEXT * Page 18 24th March 1983 2) DEFINING THE DATA FILE Function CDF is used to define a new data file. You will first be asked to supply a name for the file. Having done this you will be asked to supply 6 field names. Each field name can be up to 9 characters long (normal letters & numbers only), and should be meaningful to you. For example in a customer file the first two fields may be "Name" and "Address1" representing the customer name and the first line of his address These data field names are used for a variety of purposes. Firstly, when you come to use function MDF tc~ put the proper information into your data file, they will be used as part of the display to show you where each field is to go. Secondly, you will want to indicate which field is to go where in your text file , so that when you come to print, the correct information is picked up from the data file and substituted in the text. To do this you put the data field name in the substitute command in your text file. You should ensure that the most important piece of information coes in the first data field. This is because you may want to print a text file, and pick some information up from a data file, and be prompted by the computer to supply some other information. In order to tell you which data record is about to be printed the computer will display the contents of the first data file field on the record ue for printing as well as the prompt message. If you were producing statements and were supplying the statement amount you would probably want to know the name of the customer rather than a poctal code! You can redefine the field names later- if you wish using function ADF. Note that neither of these functions will give you access to the data itself. This is obtained through function MDF. * MEMOTEXT * Page 19 24th March 1983 3) PUTTING INFORMATION INTO THE DATA FILE Information is put into data files via function MDF - Maintain Data File. You will first be asked for the data file name, and then a screen showing the first data file record will be displayed. (Or if there are no records in the file the message "No More Records" will be there.) The screen will display not only the contents of the record but also the data field names so that you know what every piece of information is. At the top of the screen you will see the prompt "Action?". The following are valid replies to this prompt. A- Amend the recorcd currently on the screen. B- Blank out the information currently on the screen and then as action C C- Create a new record to be inserted after the one currently on the screen. Normally you migtht choose to use action B for most of your creations, but where a new record has a lot of information in common with an existing record action C can save you time. D- Delete the record currently being displayed. When the deletion is finished the record prior to the one you have just deleted will be displayed, or failinq that the 1st record in the file. F- Display the First record in the file. N- Display the Next record in the file. P- Display the Previous record in the file Q- Quit processing on the data file. If you select actions A ; B or C. then the cursor will appear at the start of the first field on the screen. You can movee it between fields with the shifted 6 &hifted 7 keys. To indicate that you have finished dealing with the record you press NEWLINE, and the "Action?" prompt will reappear and you can make your next selection. While using actions P or N to scan through the recordcs, if you reach the end of the file in either direction then you will see the message "No More Recs". This might also appear if you delee a record and none are left in the file. * MEMOTEXT * Page 20 24th March 1983 MEMOTEXT will use "data compression" techniques on the records. This means that if you only put 10 characters in a field, then MEMOTEXT will only store 10 characters, so that you are able to fit a large number of records in your file. Because of these techniques MEMOTEXT does not recognise spaces at the end of any field, so if you want a space at the end of any field when you come to print a document, you must put the space in your text file. You limited to 30 characters in any one field, but as nospaces are inserted at the end of fields, there is nothing to stop you making a larger field by putting the information into two adjacent fields and putting two substitute commands one after the other in your text file with no space in between. * MEMOTEXT * Page 21 24th March 1983 PRINTING - FUNCTION PTF To print your documents you should use function PTF. This will firstly take you through a series of prompts to establish the "rules" for how you want the print to proceed. The first prompt you will see will be the "Name?" prompt. You should key in the name of the text file that you want to print. (You can not print data files direct - the data is picked up by substitute commands in the text.) The program will then ask you whether you are using single sheets or continuous stationery by the prompt "Single/Cont?". You should reply S or C accordingly. You will next see the prompt "Justify Y/N?". This is asking you whether you want MEMOTEXT to insert spaces between the words in each line so that all lines end in the same column giving a neat block appearance. You should reply Y or N depending on whether you desire this option or not. In general terms, it will only be effective if your line width exceeds 35 characters. Certain printers have proportinal spacing abilities. If you are using such a printer MEMOTEXT will not be able to justify exactly, as it assumes that every character is the same width. The next prompt asks for a "Page Number?". You must reply by keying in a number, even if you are not including page numbering in your document. The maximum number allowed is 159. You are allowed to put in 0 to allow for a fronticpiece to your document. There is another reason why page numbering does not automatically start at 1. This is to allow you to set up several "chapters" as separate text files, and to print them individually, but to allow consistent page numbering when you come to put them together. If there is a data file defined in the text file then the prompt "All/Select/Input?" will appear. The meanings of these are explained below. All - denotes that you want the program to print one copy of the document for every record in the data file, (picking up "personalising" information from each individual record in turn). Select - denotes that you want the program to display each record in the data file in turn and ask you (by the prompt "Print/Skip?") whether you want to produce a copy using that particular set of information or whether you want to skip through to the next record without printing. * MEMOTEXT * Page 22 24th March 1983 Input - denotes that you only want to procduce one copy of the document, and that you do not want to go to the data file at all, but rather have the program prompt you (using the data field names embedded in your text as prompts) to provide the information. This is a useful facility to test the format of a new document. It also may prove beneficial when you want to produce something like an invoice for a casual customer who you never expect to do any further business with and who you do not want to set up as an entry in your data file. If you reply A or S to the prompt and the data file is not currently present in memory then you will get an error message. In addition, if the program cannot find any field name specified in your text file, in the data file you will get a mismatch messacge. If you have asked the program to prompt for information, either by replying I to the prompt above, or by substitute & prompt commands (SP(Prompt)) in your text file, you will then be prompted to supply the requisite information. If a data file is being used at the same time, the contents of the first data field for the record currently being processed will be shown as well as the prompt so that you know which record you are dealing with. You should note that input in reply to these prompts is put in to a screen that looks very much like that used for text editing. In fact in some respects the screen behaves like the text editing screen. It will for example scroll up automatically if you fill it. However you will not be allowed to use print control characters, and the only extended command that you will be allowed to use is Q (which you must use to indicate that you have finished, because just as in text file editing, pressing NEWLINE by mistake would be too easy). You need not put any characters in if you do not want in reply to the INPUT prompts. When the computer has all the information it needs to print the document, the printing will start. If you are using continuous stationery printing will start at once. If you have said that you are using single sheets the prompt "Press P to print" will be displayed, and printing will start when you press P. (For single sheets this prompt will also be displayed when the program, gets to the end of every page. You can if you wish reply Q to the prompt which will take you out of the PTF function.) When the computer has finished the document it will either redisplay the 'Function?" prompt, ready for your next instruction, or, if a data file is being used, proceed to gather information for and print the text file using information from the next data file record, until all records in the data file have been processed. To stop the print at any time you should hold down the shift key and the space key together. Thia may sometimes take a few seconds to have an effect. * MEMOTEXT * Page 23 24th March 1983 SAVING & LOADING FILES FUNCTIONS STF ; SDF ; SAF ; LTF ; LDF & LAF MEMOTEXT does not use the same save & load routines as the normal ZX-81 , although the routines are similar enough to ensure that cassette- recorders that load normal ZX-81 programs will load MEMOOTEXT files. Within MEMOTEXT you have the ablility to load & save files individually. This means that, for example, you could keep 1 data file, loading this separately, and then only load any text files containing standard correspondence as they were required. If you are used to seeing the screen display while a ZX-81 program is loading or saving, you will notice some differences when you load or save a MEMOTEXT file. This is because these processes are carried out in 2 stages. There is first a burst of activity while the amount of space taken up by the file is transfered, (This is necessary to check that there will be enough space for the file in memory), then the screen goes silent for a while, and finally the file contents are transfered. To save text files you use function STF, and to save data files you use function SDF. The program will then ask you for the name of the file that you want to save. This is the name that the file will be saved under, and this is the name that you must use when you come to reload the file. Providing the file exists, the save will start as soon as you press the NEWLINE key, so you should start the cassette-recorder recording before pressing it. To load text/data files you use functions LTF/LDF. Again the program will ask for the name of the file. It will then check to make sure that this file is not already present in memcory. If it is it will tell you, and stop the functicn. Otherwise it will scan the tape until it finds the file you want and then load it. If there is not enough space in memory to accommodate the new file, it will display a suitable error message ansd stop the load. If this happens you should make some more space, probably by deleting from memory any files you are no longer using (remember to save them first if you have made any changes to them, and then try the load once again. You also have the facility to save all files in memory, and then to reload them as one block. You might use this to save & load all your standard everyday letters at one go. The functions to do this are SAF & LAF. You must still supply a name when you save & load the files and you will not be allowed to use function LAF if there are any other files in memory at the time. * MEMOTEXT * Page 24 24th March 1983 DISPLAYING FILES CURRENTLY IN MEMORY - FUNCTION DSP To see what files you currently have in memory, you use function DSP. This will display the first file name at the top of the screen tell you whether it is a text or a data file. It will also ask if you want to see the next file. Pressing N will give you the next file, and pressing S will stop the function. When there are no more files left for you to see, the program will tell you that the end of files has been reached. OUT OF SPACE & SHORT OF SPACE MESSAGES If there is not enough space to load a file MEMOTEXT will give you the "Short of Space" message. If during text editing or data file maintenance you run out of space, then you will get the "Out of Space" message and you will not be able to put in more information until you make more space. (By deleting records or deleting some text or deleting whole files.) During text editing the program is continually checking the space available. It will give you some warning if you are running outby displaying the "Short of Space" message. If you can finish the text in another few lines then do so. Otherwise you are advised to stop at the end of the sentence, and look for ways of making more room. * MEMOTEXT * Page 25 24th March 1983 A PRACTICAL SCENARIO Most of this document has been explaining how to put things into MEMOTEXT. In actual fact after a few days spent putting information and text in, you will only rarely need to do this. Having set up your basic data files & text files a typical day might well be like this: Arrive at work; switch on MEMOTEXT; load a file of normal letters; load a data file containing names & addresses of clients. From time to time during the day go to MEMOTEXT; tell it which standard letter you want; if it is for an existing client scan through the data file for his details; if it is for a new client select the I option for data file printing and be prompted for the information needed by the standard letter. At the end of the day switch off MEMOTEXT and go home. Once a week add new clients to the name & address data files and make a new copy of this file for use from then on. Once a month produce statements for each of your clients using the A option for data file printing. Occasionally produce a new newsletter or product announcement or price list to be sent to all of your clients. This manual was keyed in, formatted & printed using MEMOTEXT. THE END