NOTEPAD 4 MODIFICATION SCHEDULE VERS. # 4.0 ADD CARRIAGE RETURN ON END OF LINES PLUS DONT FEED TRAILING BLANKS ON A LINE (FOR BREVITY) 3.4 SWITCH TO DIRECT SCREEN WRITES INSTEAD OF BIOS CALLS FOR SPEED 3.3 TAB AND BACK TAB FUNCTIONS IMPROVED AND INVOKING CHAR CHANGED TO SHIFT LEFT AND RIGHT ARROW 3.2 ADD PRINT SCREEN AND CHANGE NOTEPAD FILE FUNCTIONS; FIX EBL INCOMPATIBILITIES 3.1 FIX PC-TALK CRASH BUG CHANGE WORKING OF TAB CHARACTER SAVE TO DISK ONLY WHEN CURSOR HOMED 3.0 ADD SAVE TO/RESTORE FROM DISK FEATURE Many times, while sitting at the keyboard, I would find myself reaching for a pad of paper or that ever elusive pen to jot down a file name or a number off the screen. Thus it was with excitement that I came across a copy of the public domain program NotePad, which provided an easily called up note pad for jotting down notes (this idea is also encorporated in such products as SideKick, but the public domain well rarely fails me). I was rather disappointed with NotePad, however, in that once a note was written, it was up there for good; no editing was possible. One wasnt even allowed to back up the cursor; thus, when a screen full of notes had been made, notepad was no longer of any use. I decided that it was worth the trouble of rewriting the thing. Since the source was not to be found, I was forced to start from scratch and write my own. NotePad4 has the same format of being callable from any routine which performs keyboard input using interrupt 16 (and that's just about everyone) by entering a special key (currently configured for Alt-F10). Once NotePad4 is up, the operator has full editing capability, so that notes can be removed or edited as they become obsolete. A further capability is that NotePad4 will "feed" a note into the application. An example here best serves as explanation. A list of file names scrolls by on the screen, say from a 'DIR' or 'SDIR' command. I want to process these files (maybe simply delete them, but it makes no difference). If I process the first file, the rest of the file names will scroll off the screen. Therefore, I open up the note pad area and jot down the file names of interest. Now I need the file names for processing. I could open up the note pad, memorize the first file, close the note pad and type that filename again. But computers are supposed to save me work, not force me to type things multiple times; therefor, what I do is run my application routine up to the point that the file name is needed. Then open the window and place the cursor at the beginning of the file name and depress 'mark/feed' (configured for end key). I then scroll over to the character beyond the file name and again press 'mark/feed'. NotePad4 then enters the filename again for me! Notepd4 can change notes using the brown "-" key. Depressing this key will cause the open note pad to be updated and the operator to be quizzed for a new file name. Entering a new notepad file will cause that file to be open and the notepad reopened with that information. Entering a return with no file name will reopen the notepad area with the original data but with the original note pad file closed. Depressing the PrtSc key at any time that the notepad area is open will cause the note to be printed onto LPT1. A border of asterisks outlines the note on the printer for legibility. Below is a layout of the keys to which NotePad4 assigns editing meaning. Any key which NotePad4 does not understand, it merely saves as ASCII. Depressing Alt-F10 enters and exits notepad. |-------------------------------------------------------------------------| | | | | | | | | HOME | UP ARROW | PG UP | - | | |move to top of| move cursor |delete current|change notepd | | RETURN |note are | up | line | file | | |--------------|--------------|--------------|--------------| | | | | | | | | LEFT ARROW | | RIGHT ARROW | | | | move cursor | | move cursor | | | | left | | right | | |-------------|--------------|--------------|--------------| | | | | | | | | PrtSc | END | DOWN ARROW | PG DOWN | | | print note | mark/send | move cursor |insert a blank| | | | | down |line at cursor| | |-------------|--------------|--------------|--------------| | | | | | | INSERT | DELETE | | | insert a blank character | delete current character | | | | | | |-------------|--------------|--------------|-----------------------------| two seperate keys: |-------------| |--------------| | | | | | ESC | | <-- | |delete from | | delete char | |curso right | | to left | |-------------| |--------------| (Stephen) Randy Davis Route 5 Box 107L Greenville, Tx 75401 ADDENDUM TO NOTEPAD3 NotePad2 had one major drawback towards being a truly useful tool: notes were not saved on disk; thus, once power was turned off, all notes were lost. NotePad3 functions identically to NotePad2 except that this limitation is addressed as follows: NotePad3 may be installed by simply entering its name, with not arguments, as was done for NotePad2. If installed this way, it functions identically to the previous version. It may also be installed with a file name argument, for example: Notepad3 a:notefile Notice that the filename must be a full path name, including any directories if applicable. Notepad3 will attempt to read that file. If it cannot, it will not install, thinking that the name was misspelled, etc. If it can, NotePad3 will read the note into the scratch area. Every time the notepad area is subsequently exited, NotePad3 will update the file by writing the scratch area out to disk. If the disk containing the specified file is not in the indicated drive, a new file will NOT be created and the scratch area will not be saved to disk. In this way, with NotePad3 notes may be continued from one day to the next. Since NotePad3 wants the scratch file to already exist, the user will need to create the scratch file before installing NotePad3 the first time. The contents of this file are not important (indeed the file may be empty). Use any editor to create the file. Once installed, the file name in NotePad3 may not be changed. ADDENDUM TO NOTEPAD3.1 It was sometimes found to be inconvenient for non-harddisk users to save note pad to disk every time the note pad was modified. It was also decided that it was an advantage to be able to make "temporary" notes that were not saved to disk; therefore, the NotePad3.1 only saves to disk if the cursor is homed in the note pad area. Some observant users discovered a crash which occured with some (not many) programs. Unforturnately, one of these programs was the ever popular PC-TALK. This bug was found and fixed. The feed to application function was found to be very useful. In support of this function the tab/reverse-tab function was modified from a tab function to a Wordstar type Cntrl-F function. If the cursor is on a space, depressing tab moves the cursor to the first character that is not a space or to the end of the line. If the cursor is on a non-space, then the cursor is moved to the first space character. This is most useful to delineate fields to be fed to the application. Tab moves towards the right, back-tab to the left. |-------------| |--------------| | | | | | -->| | | |<-- | |move to next | |move to next | | spc/nonspc | | spc/nonspc | | to the right| | to the left | |-------------| |--------------| ADDENDUM TO NOTEPAD4 In order to maintain compatibility with the useful and very similar CutPaste program the function of the tab and back tab was moved to the shift right and left arrows, resp. The function of the back tab was also modified to more closely be the inverse function of the tab. In addition, a skip trailing blank algorithm was installed with carriage returns at the end of each line so that when feeding multiple lines of a note into either an editor or a file, the file appears closer in appearance to the note on the screen.