Miniform
Miniform is a small forms driver for console applications which interprets screen layout descriptions written a simple interpreted language that has a directive for each atomic action to be performed. The forms are ASCII text; the only necessary tool is any text editor.

The most significant features are:
  • Cursor addressing
  • Display of text and data in various formats and video attributes
  • User input aquisition and checking
  • Display of contextual help
  • Data conversion between binary and ASCII decimal and hexadecimal
  • Math. operations on data : the operators + - * / % are available
  • Possibility to write loops and subroutine calls
  • Dynamic screen layout
  • Programmable navigation between I/O fields
  • Drawing boxes
Data input fields

A data input field is defined by its position on the screen (line, column), its size and its type:
  • text
  • numeric decimal or hexadecimal, possibly checked for limits
  • password (hidden input)
  • checkbox (selection of one of a set of user defined answers)
  • locked (for OK buttons or drop-down menus)
When an input field has the focus, it is displayed in reverse video.

Input field editing
  • An input field is either left (text) or right (numeric) aligned.
  • Text can be entered either in insert or in overstrike mode (toggled with the INSERT key).
  • The cursor is moved with the LEFT or RIGHT arrow keys.
  • The HOME and END keys move the cursor to the beginning of the field or the active position (the position where to append a character to the current input, depending on the previous characteristics).
  • The DELETE key (on the keypad) deletes the character under the cursor.
  • The BACKSPACE key (main keyboard) deletes the character to the left of the cursor.
  • <F11> and <F12> clear the field or restore its former contents.
  • CHECKBOX and LOCKED fields cannot be edited.
      CHECKBOX : input selection is made with the LEFT or RIGHT arrow keys.
      LOCKED : the LEFT and RIGHT arrow keys are terminators.
Input terminators

A number of special keys terminate the current input. The action performed for each of these keys is freely programmable, most usually :
  • <RETURN> or <ENTER> or <TAB> are the normal terminators
  • <UP> <DOWN> <PAGE UP> <PAGE DOWN> provide inter-field navigation other than sequential
  • <LEFT> <RIGHT> may provide the same function for locked fields, otherwise they move the cursor within the active field. By default they duplicate the actions of the <UP> and <DOWN> keys
  • <HELP> (usually <F1>) displays a help message for the current field
  • <ESC> (also <CTRL/Z> or <F10>) terminates the current form
The current field can only be left if its contents are valid.

Demo screen shots. Downloads : Demo program, sources,