Previous: prsgtc Up: ../plot79_p.html Next: prsgtt
INTEGER FUNCTION PRSGTH (A1CHAR,STDHMS,HLPSTR,LENHLP, X DEFSTR,LENDEF,FIRST) C$ (Parse Internal - Get Character with Help and Recognition) C$ Get the next character from PRSGET and return it in A1CHAR C$ with the same function value. However, if the character is C$ a help character (query) or a recognition character (EDFULL C$ or EDPART), or end-of-line, special action is taken: C$ C$ Help character: C$ Help is offered, first any user-supplied help string, and C$ then a standard help message, according to the field type. C$ If either help string is printed, the default value, if C$ any, will also be displayed. If an alternate parse is in C$ progress, and a help message has already been issued for a C$ previous field, the help message is preceded on a new line C$ by the string "or", and return occurs immediately with C$ function value set to EDHELP (distinct from QUERY, which is C$ an ordinary character) and A1CHAR set to the help C$ character. If a KEYWORD or SWITCH parse is in progress, C$ return occurs immediately to allow the caller to display C$ the word alternatives. If the standard help is suppressed C$ and no user help message is provided, then nothing is C$ output. C$ C$ Recognition character: C$ If FIRST is .TRUE., the parse is at the beginning of a C$ field, so if LENDEF > 0, the contents of the default string C$ is inserted in the input buffer, as if the user had typed C$ it. If LENDEF = 0 and recognition is requested with FIRST C$ set .TRUE., a BEL character will be typed to ring the C$ terminal bell, reminding the user that the request cannot C$ be honored. If FIRST is .FALSE., the recognition character C$ will be returned intact, so that the user can take further C$ action to provide recognition on a partial field. C$ C$ End-of-line character: C$ If a default string is provided, insert it in the input C$ buffer before the end-of-line and return the first C$ character of the default. Otherwise just return the C$ end-of-line character. C$ C$ If an alternate parse is not in progress, then if the C$ recognition character (if FIRST is .TRUE.) or help C$ character is then deleted from the input buffer, and the C$ next character is obtained (which might have come from the C$ newly-inserted default string). The code then loops until C$ a character is finally obtained which is neither help nor C$ recognition. C$ (03-MAR-83)