HPDPROMPT
Prompts the operator.
Syntax
HPDPROMPT globalpak, returnpak, promptpak, cursorposition, msg,
fieldlist, labeldescrpt, labelbuf
Parameter Descriptions
globalpak A compound parameter that passes information
between intrinsics. For a complete description
of this parameter, see "Global Parameters" in
Chapter 3.
returnpak A compound parameter that passes information
back from the intrinsic to the application.
For a complete description of this parameter,
see "Global Parameters" in Chapter 3.
promptpak A compound parameter that modifies the default
operations of HPDPROMPT. It has the following
subparameters:
repaintdata A four-byte integer
that tells HPDPROMPT
to force a rewrite of
the operator's data
display. Use this
parameter to keep
displayed data
consistent with the
data in internal
buffers. You can
supply the following
values:
0 = ignore
1 = force a rewrite
of the data to the
device
windowenh An eight-byte
character array that
updates the window
line enhancement. If
the array contains
all spaces or binary
zeros, the current
window enhancement is
used. If the array
contains "NONE" left
justified, the window
is displayed without
enhancement. If you
do not supply either
of these values for
the array, you can
supply any of the
following values in
any combination:
I = inverse video
H = half bright -
this has no effect
unless inverse video
is set on.
U = underlined
B = blinking
resethilited A four-byte integer
that tells HPDPROMPT
whether or not to
reset those fields
that are highlighted
due to errors. You
can supply the
following values:
0 = ignore the fields
flagged in error
1 = reset the flagged
fields
dontenableinput A four-byte integer
indicating that if
the keyboard is
locked, it should
remain locked; it
does not do an actual
lock. You can supply
the following values:
0 = ignore
1 = do not enable
device to take
operator input.
Use this option if,
for example, you have
an application that
displays progress
messages during a
long transaction.
This subparameter
locks the keyboard to
prevent the operator
from inadvertently
making a keyboard
entry.
Note: This
subparameter is only
recognized if you
have supplied a value
equal to or greater
than A.00.10 for the
globalpak
subparameter,
expectedvuf.
bypassfeature A four-byte integer
that will be used for
future Hi-Li
implementations. At
that time, you must
supply the globalpak
subparameter,
expectedvuf, with a
value equal to or
greater than A.00.10.
For this release of
Hi-Li software, set
bypassfeature to
zero.
cursorposition A four-byte integer or a 36-byte array of
characters that identifies the field at which
the operator is to begin entering data. It
also tells HPDPROMPT to position the cursor at
this field. The field must be an input field.
A four-byte integer identifies the beginning
field by number or screen order. A positive
integer indicates a field number. A negative
integer indicates screen order. If you supply
a zero, HPDPROMPT moves the cursor to the first
enhanced input field on the screen. If no
fields are enhanced, the cursor is positioned
at the first physical input field on the
screen.
OR
A 36-byte character array that identifies the
beginning field by its USASCII name. This
array must be preceded by a double backslash
(\\). If you pass spaces in this array,
HPDPROMPT moves the cursor to the first
enhanced input field on the screen. If no
fields are enhanced, the cursor is positioned
at the first physical input field on the
screen.
msg A compound parameter that tells HPDPROMPT the
message that you want displayed in the message
window, and the length of that message. It is
made up of the following subparameters:
msglen A four-byte integer
that indicates in
bytes the length of
the message you want
HPDPROMPT to transfer
to the window area.
If you supply a zero,
HPDPROMPT fills the
window with blanks.
If you supply a
negative number,
HPDPROMPT does not
update the window
area and the previous
message is displayed.
msgline A character array of
up to 256 bytes that
identifies the
message you want
HPDPROMPT to display
in the window area.
fieldlist A compound parameter that identifies for
HPDPROMPT the fields you want highlighted.
This parameter is compatible with the HPDREAD
fieldlist parameter. It is made up of the
following subparameters:
listtype A four-byte integer
that tells HPDPROMPT
to list the fields by
number or name. You
can supply the
following values:
0 = null list
1 or 2 = fields
listed in number
format
3 = fields listed in
name format
allocnt A four-byte integer
that is not used by
HPDPROMPT.
actualcnt A four-byte integer
that indicates the
number of active
entries in the list
of fields.
listentry Identifies the table
of fields defined in
your application.
fieldident If you supplied a
value of 1 or 2 for
listtype, this is a
four-byte integer
that identifies a
field. A positive
number indicates
field number. A
negative number
indicates screen
order.
If you supplied a
value of 3 for
listtype, this is a
32-byte character
array that identifies
the USASCII character
name of a field.
labeldescrpt A compound parameter that identifies for
HPDPROMPT the key labels that your application
will update. Function keys are labeled, by
default, with the label strings defined in the
forms file. labeldescrpt is made up of the
following subparameters:
descrptcnt A four-byte integer
that indicates the
number of labels to
be updated.
descrptentry Identifies a table
defined in your
application.
labelident A four-byte integer
that identifies the
key label number.
labelenh An eight-byte
character array that
will be used by a
future Hi-Li
enhancement to tell
HPDPROMPT to accept
whatever the current
enhancement is. It
is not currently used
by HPDPROMPT. It is
recommended that you
set this variable to
spaces or binary
zeros.
OR
labeldescrpt is made up of the following set of
subparameters:
labelset A 36-byte character
array specified by
double backslashes
followed by the
USASCII character
label set name.
Specifying (double
backslash)
$RESET_FORM tells
Hi-Li to reset
function key labels
to the base set
specified for the
current form. If a
label set was not
defined for the form,
Hi-Li uses the forms
file global set as
the base set.
Specifying spaces
tells Hi-Li not to
update the current
function key labels.
For a discussion of
the labelset
subparameter, see the
Discussion for
HPDPROMPT that
follows these
parameters.
labelbuf A byte array of characters that identifies for
HPDPROMPT the application area that contains
the label strings. For the HP 3000, 16 bytes
are sent to each label.
Discussion
HPDPROMPT is one of the three core intrinsics that make up the screen
management intrinsics. Use this intrinsic to display messages, highlight
and position the cursor at selected fields, and update key labels when an
operator error is detected. Parameters that are not required by your
application can be compacted and passed as abbreviated parameters.
<3>Creating Function Key Label Sets Using LABELSET
Because there is no facility within FORMSPEC/V for defining free-floating
function key label sets, the HPDPROMPT and HPDSEND labelset subparameter
(of the labeldescrpt parameter) provides this ability by "borrowing" the
function key label set from the form you identify in the labelset
subparameter.
The form you identify can be any of the "live" forms in the forms file or
it can be a "dummy" form which exists only as a function key label set
place holder. You can create a place holder for a key label set by
adding a form to the forms file, defining a set of labels for the form,
and building a one character, text only, screen image for the dummy form.
Examples
COBOL:
01 fieldlist.
05 listtype pic s9(8) comp.
05 allocnt pic s9(8) comp.
05 actualcnt pic s9(8) comp.
05 listentry occurs 5 times.
10 fieldid pic s9(8) comp.
01 labeldescrpt.
05 descrptcnt pic s9(8) comp.
05 descrptentry occurs 8 times.
10 labelident pic s9(8) comp.
10 labelenh pic x(8).
FORTRAN:
INTEGER*4 FIELDLIST(8)
INTEGER*4 LISTTYPE
INTEGER*4 ALLOCNT
INTEGER*4 ACTUALCNT
EQUIVALENCE (FIELDLIST(1), LISTTYPE),
+ (FIELDLIST(2), ALLOCNT),
+ (FIELDLIST(3), ACTUALCNT)
INTEGER*4 FIELDID(1,5)
EQUIVALENCE (FIELDLIST(4), FIELDID)
For an example of how a record structure can be manipulated in FORTRAN,
see the COLLECT_TXNS subroutine in the FORTRAN example program in
Appendix C.
Pascal:
type
fieldlist_rec = record
listtype : integer;
allocnt : integer;
actualcnt : integer;
fieldid : array [1..5] of integer;
end;
var
fieldlist : fieldlist_rec;