[ Type code = : ] This disables the output of bright and dim codes. Normally INFLD displays the field markers in dim, with the field contents in bright. On some terminals, use of these intensity commands may cause an inordinate delay, slowing down output. The : type code will speed up display in this situation by leaving the terminal in the same intensity.
[ Type code = ) ] This starts the cursor at end of field instead of the beginning of the field. This is only effective when opcode=1 and may be useful in sophisticated applications where a single field is input in parts using multiple INFLD calls. See the parameter description of opcode for notes on preloading trailing blanks.
[ Type code = \ ] This clears the bottom line on exit from the field. This is useful when the program prints error messages on the bottom line. The only time that this would be harmful is when you have a message on the bottom line that should remain there for multiple fields.
[ Type code = B ] This disables blanking of characters to right or left of field. INFLD normally displays a few blanks to the right of expanding fields like $, D, H (or to left of field if right justified), in order to completely erase the previous field display. It does not do this for fields which are not re-displayed with extra formatting characters, and you can disable it in all cases with this code.
[ Type code = b ] This prevents blanks from being entered into the field. This code also alters the way the Rubout (or Backspace on most PCs) key works. Normally it erases the character to the left of the cursor, leaving a blank if it was in the middle of the field. Since we do not want to allow blanks here, it just acts like a left arrow when in the middle of the field.
[ Type code = E ] Operator may use the Backspace key (when in first position of field) or Escape key to signal abort. Either key displays and returns the field as "END", and sets both inxctl and exitcode to 2. Note that the Left Arrow key takes on a different function when used without the E code; see exitcode. Also note that typing "END" is not supported as an alternative to using Backspace or Escape.
[ Type code = g ] Causes INFLD to return the updated field contents when an enabled function key is used to exit the field. Normally the field contents are not returned on a function key exit. As a mnemonic, you may associate "g" with "GO" commands, where a single key not only exits and updates a field but also causes some other action, dependent on the actual function key used.
[ Type code = I ] (Usually the maximum size of the field is indicated with underline or period markers.) With this code, there is no visual indication of the field size, although the maximum is still in effect and the bell will sound if you try to go past it. This may be desirable for passwords (in conjunction with the S code), or for satisfying special aesthetic requirements.
[ Type code = m ] The INFLD.DEF option is described more fully in its own topic, but briefly, it allows a method of automatically adding a series of type codes to every INFLD call. m will disable this ability, and even disable the search for the INFLD.DEF module, which may shave a few CPU ticks off each call.
Note that INFLD.DEF is replaced by SBR=INFDEF: in miame.ini, but the m code still serves the same purpose..
[ Type code = n ] This returns entry as a null string if the field was exited with some sort of abort condition, such as time out, Ctrl+C, Escape, Left-Arrow with the E code, or Ctrl+E. Otherwise, the pre-existing contents of the field would be returned. This may simplify your abort handling.
[ Type code = W ] Note that with Alpha's INPUT, the record abort key is Ctrl+W (hence the W code). However, with INFLD, Ctrl+W is used as an editing function (next word), and Ctrl+E is used as the record abort key. Code W should be used whenever you do not plan to check for the inxctl=1 (or exitcode=1) returned code.
Prehistoric Compatibility Mode
[ Type code = |p ] This code causes INFLD to revert to behavior as similar as possible to the old INPUT.SBR. Some of the differences include: use of dots instead of underlines; always blank 3 spaces to right of field; use Ctrl+W for record abort instead of Ctrl+E; throw away characters above ‘z’ ("{", "|", "}", "~"); and allow months 1-13 and days 1-31 in all dates. This capability was added for users converting from INPUT.SBR that wanted to preserve those idiosyncrasies while taking advantage of field editing and other enhancements of INFLD.
[ Type code = |R ] This prevents the redisplay of the field on exit from editing mode. This can be useful to eliminate display thrashing when you are going to reformat and redisplay the field yourself manually. In the case of GUI mode, this causes the field control to be deleted on exit, thereby making it easier to redisplay the field using a simple text PRINT statement, but also mandatory that you redisplay it.
[ Type code = |r ] This code prevents the operator from making editing changes to the field. This might be useful in a situation where you wanted to allow the operator to use certain exit codes in the context of a field but not actually change the contents.
History
2013 August, A-Shell 1359: Now applies to date and time pickers, up/down controls, and combo boxes. Previously it only worked for normal edit controls.
[ Type code = |X? ] This three-character type combination (vertical bar, X, followed by any third character A-Z) is one of the more obscure features available. It programs Ctrl+X to act as if you entered Ctrl+*, where "*" is the third character of the three-character type code. For example, the sequence |X[ would cause Ctrl+X to act like Ctrl+[ (Escape). Perhaps this would be useful if your terminal did not allow certain control sequences to be input from the keyboard.