Document revision date: 30 March 2001 | |
Previous | Contents | Index |
The Perform a DEFINE/KEY Command routine performs the DEFINE/KEY command you provide.
SMG$DEFINE_KEY key-table-id ,command-string
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
key-table-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Identifies the key definition table for which the DEFINE/KEY command is to be performed. The key-table-id argument is the address of an unsigned longword that contains the key table identifier.The key table identifier is returned by SMG$CREATE_KEY_TABLE.
command-string
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
String containing the DEFINE/KEY command to be performed. The command-string argument is the address of a descriptor pointing to the command to be performed.The valid qualifiers for the DEFINE/KEY command are as follows:
- /TERMINATE
- /NOECHO
- /LOCK
- /IF_STATE
- /SET_STATE
The following two restrictions apply to the DEFINE/KEY qualifiers:
- If you use the /LOCK qualifier, you must also use the /SET_STATE qualifier.
- If you use both the /SET_STATE and /TERMINATE qualifiers, you may not use /LOCK.
SMG$DEFINE_KEY parses and performs a DEFINE/KEY command. It can be used by programs that accept DEFINE/KEY commands but do not parse the commands themselves.SMG$DEFINE_KEY calls CLI$DCL_PARSE to parse the command line and then makes the appropriate call to SMG$ADD_KEY_DEF. The original command is then restored with a call to CLI$DCL_PARSE. Use of this procedure requires that the image be run under the DCL command language interpreter (CLI).
SS$_NORMAL Normal successful completion. SMG$_WRONUMARG Wrong number of arguments.
Any condition values returned by LIB$SCOPY_DXDX.
Any condition values returned by CLI$ routines.
Any condition values returned by SMG$ADD_KEY_DEF.
The Delete Characters routine deletes characters in a virtual display.
SMG$DELETE_CHARS display-id ,number-of-characters ,start-row ,start-column
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Identifies the virtual display from which characters are to be deleted. The display-id argument is the address of an unsigned longword that contains the display identifier.The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
number-of-characters
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the number of characters to be deleted. The number-of-characters argument is the address of a signed longword that contains the number of characters to be deleted.start-row
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the row position at which to start the deletion. The start-row argument is the address of a signed longword that contains the row number at which to start the deletion.start-column
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the column position at which to start the deletion. The start-column argument is the address of a signed longword that contains the column position at which to start the deletion.
SMG$DELETE_CHARS deletes a specified number of characters, starting at a specified row and column position. Remaining characters on the line are shifted to the left to occupy the vacated spaces. Note that this routine deletes characters only on a single line.If you specify more characters than are available for deletion, SMG$DELETE_CHARS deletes all characters from the specified column position to the end of the line.
This routine leaves the virtual cursor at the position of the first character deleted.
SS$_NORMAL Normal successful completion. SMG$_INVARG Invalid argument. The number of characters specified extends outside the virtual display. SMG$_INVCOL Invalid column position. The specified column is outside the virtual display. SMG$_INVDIS_ID Invalid display-id. SMG$_INVROW Invalid row position. The specified row is outside the virtual display. SMG$_WILUSERMS Pasteboard is not a video terminal. SMG$_WRONUMARG Wrong number of arguments.
C+ C This Fortran example program demonstrates the use of C SMG$DELETE_CHARS. C- INTEGER SMG$CREATE_VIRTUAL_DISPLAY, SMG$CREATE_PASTEBOARD INTEGER SMG$PASTE_VIRTUAL_DISPLAY, SMG$PUT_CHARS INTEGER SMG$DELETE_CHARS, DISPLAY1, PASTE1 INTEGER ROWS, COLUMNS, BORDER, STATUS C+ C Create the virtual display be calling SMG$CREATE_VIRTUAL_DISPLAY. C To give it a border, set BORDER = 1. No border would be BORDER = 0. C- ROWS = 7 COLUMNS = 50 BORDER = 1 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 1 (ROWS, COLUMNS, DISPLAY1, BORDER) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$CREATE_PASTEBOARD to create the pasteboard. C- STATUS = SMG$CREATE_PASTEBOARD (PASTE1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Use SMG$PUT_CHARS to put data in the virtual display. C- STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' This virtual display has 7 rows and 50 columns.', 2, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' This is a bordered virtual display.', 4, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' SMG$PUT_CHARS puts data in this virtual display.',6, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Paste the virtual display to the pasteboard using C SMG$PASTE_VIRTUAL_DISPLAY. C- STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY1, PASTE1, 4, 15) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$DELETE_CHARS to delete 4 characters from row 4 C starting from character (column) 14, removing the characters C "rder" from the word "bordered". C- STATUS = SMG$DELETE_CHARS ( DISPLAY1, 4, 4, 14) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) END |
The output generated by this Fortran program before the call to SMG$DELETE_CHARS is shown in Figure SMG-10.
Figure SMG-10 Output Generated Before the Call to SMG$DELETE_CHARS
The output generated after the call to SMG$DELETE_CHARS is shown in Figure SMG-11.
Figure SMG-11 Output Generated After the Call to SMG$DELETE_CHARS
The Delete Key Definition routine deletes a key definition from the specified table of key definitions.
SMG$DELETE_KEY_DEF key-table-id ,key-name [,if-state]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
key-table-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Identifies the key table from which the key definition is deleted. The key-table-id argument is the address of an unsigned longword that contains the key table identifier.key-name
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
String containing the name of the key whose definition is to be deleted. The key-name argument is the address of a descriptor pointing to the key name. The key name is stripped of trailing blanks and converted to uppercase before use.Table 3-1 lists the valid key names.
if-state
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
String containing a state name that further qualifies key-name. The if-state argument is the address of a descriptor pointing to the state name. If omitted, the null state is used. Thus if a key has several definitions depending on various values of if-state, this routine lets you delete only one of those definitions.
SMG$DELETE_KEY_DEF deletes a key definition from the specified table of key definitions.
SS$_NORMAL Normal successful completion. SMG$_INVKEYNAM Invalid key-name. SMG$_INVKTB_ID Invalid key-table-id. SMG$_KEYDEFPRO Key definition is protected. SMG$_KEYNOTDEF Key is not defined. SMG$_WRONUMARG Wrong number of arguments.
The Delete Line routine deletes lines from a virtual display.
SMG$DELETE_LINE display-id ,start-row [,number-of-rows]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Identifies the virtual display from which lines are to be deleted. The display-id argument is the address of an unsigned longword that contains the display identifier.The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
start-row
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the first line to be deleted from the virtual display. The start-row argument is the address of a signed longword that contains the number of the first line to be deleted.number-of-rows
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the number of lines to be deleted. The number-of-rows argument is the address of a signed longword that contains the number of lines to be deleted. If omitted, one line is deleted.
SMG$DELETE_LINE deletes one or more lines from a virtual display and scrolls the remaining lines up into the space created by the deletion. Blank lines fill the display on the bottom. The virtual cursor is left at the first column position in start-row.
SS$_NORMAL Normal successful completion. SMG$_INVARG Invalid argument. SMG$_INVDIS_ID Invalid display-id. SMG$_INVROW Invalid row. SMG$_WILUSERMS Pasteboard is not a video terminal. SMG$_WRONUMARG Wrong number of arguments.
C+ C This Fortran example program demonstrates the use of SMG$DELETE_LINE. C- IMPLICIT INTEGER (A-Z) C+ C Create the virtual display by calling SMG$CREATE_VIRTUAL_DISPLAY. C To give it a border, set BORDER = 1. No border would be BORDER = 0. C- ROWS = 7 COLUMNS = 50 BORDER = 1 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 1 (ROWS, COLUMNS, DISPLAY1, BORDER) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$CREATE_PASTEBOARD to create the pasteboard. C- STATUS = SMG$CREATE_PASTEBOARD (PASTE1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Use SMG$PUT_CHARS to put data in the virtual display. C- STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' This virtual display has 7 rows and 50 columns.', 2, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' This is a bordered virtual display.', 4, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' SMG$PUT_CHARS puts data in this virtual display.', 6, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Paste the virtual display to the pasteboard using C SMG$PASTE_VIRTUAL_DISPLAY. C- STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY1, PASTE1, 4, 15) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) |
The output generated by this Fortran program before the call to SMG$DELETE_LINE is shown in Figure SMG-12.
Figure SMG-12 Output Generated by Fortran Program Before the Call to SMG$DELETE_LINE
The output generated after the call to SMG$DELETE_LINE is shown in Figure SMG-13.
Figure SMG-13 Output Generated After the Call to SMG$DELETE_LINE
The End Access to a Menu in the Virtual Display routine ends access to the menu choices in the specified virtual display.
SMG$DELETE_MENU display-id [,flags]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Identifier of the virtual display in which the menu choices are displayed. The display-id argument is the address of an unsigned longword containing this identifier.flags
OpenVMS usage: mask_longword type: longword (unsigned) access: read only mechanism: by reference
Optional bit mask specifying possible actions to take when deleting the menu. The flags argument is the address of an unsigned longword that contains the flag. At this time, the only valid value is SMG$M_ERASE_MENU. If this option is specified, all rows containing menu items are erased.
SMG$DELETE_MENU discontinues access to the menu choices in the specified virtual display. The optional flags argument lets you specify that the menu choices be removed from the display when the menu is deleted.
SS$_NORMAL Normal successful completion. LIB$_xxxx Any condition value returned by LIB$FREE_VM. SMG$_xxxx Any condition value returned by SMG$ERASE_DISPLAY.
The Delete Pasteboard routine deletes a pasteboard.
SMG$DELETE_PASTEBOARD pasteboard-id [,flags]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
pasteboard-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the pasteboard to be deleted. The pasteboard-id argument is the address of an unsigned longword that contains the pasteboard identifier.The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.
flags
OpenVMS usage: mask_longword type: longword (unsigned) access: read only mechanism: by reference
Optional bit mask specifying whether the screen is cleared after the specified pasteboard is deleted. The flags argument is the address of an unsigned longword that contains the flag. Valid values are as follows:
0 Does not clear the screen. SMG$M_ERASE_PBD Clears the screen (default). SMG$M_IGNORE_BATCHED Deletes the pasteboard even if batching is in effect.
SMG$DELETE_PASTEBOARD flushes all output to the display, terminates all use of the specified pasteboard, and deallocates all resources associated with the pasteboard.
SS$_NORMAL Normal successful completion. SMG$_INVPAS_ID Invalid pasteboard-id. SMG$_NOTPASTED The specified virtual display is not pasted to the specified pasteboard. SMG$_WILUSERMS Pasteboard is not a video terminal. SMG$_WRONUMARG Wrong number of arguments.
Any condition values returned by $DASSGN, LIB$FREE_VM, LIB$FREE_EF, or SMG$FLUSH_BUFFER.
Previous | Next | Contents | Index |
privacy and legal statement | ||
5935PRO_014.HTML |