This is EDFILE (20071127) ... a very simple minded file editor. Copyright (c) 1987 Allegro Consultants, Inc. Author: Stan Sieler EDFILE comes in two forms: a standalone program and as an USL. The USL version may be added to a group, account, or system SL and then called from any editor that supports the P command (e.g.: QEDIT, EDITOR), or from any program that wants to call the external procedure EDFILE defined as: procedure edfile; option external, check 3; Invoking from QEDIT: (first, put the EDFILE segment in an SL called "SL", or "SL.PUB") /p edfile, g (or: p edfile, p) EDFILE 20071127 Type: HELP for information Edfile: Commands are shown below, only the uppercase portion is needed: CLOSE Closes the currently open file. Display record [.byte] [,bytes] Displays text starting at the specified record and byte (byte defaults to 0) for the desired number of bytes (bytes defaults to 1). DL label [.byte] [,bytes] Like DISPLAY, but displays a userlabel from the file. The first userlabel is #0. Userlabels are 256 bytes long. Exit Terminates EDFILE. (An implicit CLOSE is done first.) HELP Displays this information. Modify record [.byte] [,bytes] Modifies the specified record, starting at the specified byte (defaults to 0), for the desired number of bytes. (The number of bytes to modify defaults to 1.) ML label [.byte] [,bytes] Like MODIFY, but modifies userlabels. The first user label is label # 0. Userlabels are 256 bytes long. PFI Calls printfileinfo for current file. OPEN filename Opens the specified file for editing. // (like EXIT) ? (like HELP) Note that the first record of a file is record # 0. (also, the first byte of each record is byte # 0.) After you issue a Modify command, EDFILE will prompt you for data. You can enter a decimal number, a hex number (e.g., $41), an octal number (e.g., %101), a single character (e.g., A) (except a digit, blank, or carriage return), or a quoted string (with " characters). In the case of a quoted string, the leading and trailing quotes (") are stripped off and the text is then put in the file. An input of "//" to a Modify prompt will cancel that modify, leaving your data unchanged. A carriage return will skip that byte and (if ",bytes" was more than 1) move to the next byte to edit. An input of "\\" to a Modify prompt will terminate the prompts for the rest of the data but WILL write the bytes you have already entered back to the file. This is NOT a fancy editor...it was written to provide an easy method of modifying bytes in arbitrary files without having to use DISKED5. It will not handle Message files, circular files, variable record files, RIO files, KSAM files, or privileged files. EdFile 20140822