field_start()

Purpose

Initialises the cursor (if any) for a field

Syntax

void pascal field_start(mapnr, fieldnr, flags)

Parameters

int mapnr

Number of map containing field

 

int fieldnr

Field from which to read

 

int flags

Determines how function is used; see below

 

The parameter flags may take any of the following values:

 

Value

Meaning

 

EF_RESTART

Resume entering a field following a previous call to field_end(1). This is used by editor programs, for example to prevent lines in redirect files from becoming too long

 

EF_FULLEDIT

Pass if the input routine is one for which the caret may be moved freely around the edit control as in askf_c() . Pass this if you want to process the mouse.

 

EF_NOCARET

Pass if the input routine is one for which the cursir should be turned off (if the user disabled the cursor in menus)

 

EF_NOREDIR

Bypass redirect files and use keyboard

 

The other EF_ flags listed in dp4capi.h are for internal use by the terminal manager

Description

This function, together with field_end() and field_char_get(), is used internally in the construction of DP4 entry routines and is available for developers wishing construct custom input functions which do not use the askf_x() or inpm_x() functions.

The operation of these functions is internal to the terminal manager. The field_start() is responsible for initialising the cursor shape for the field. See the brief example program below.

See also

field_char_get(), field_end()

Example

field start(mapnr,fieldnr,EF_FULLEDIT);
while (!finished)
{
show(mapnr,fieldnr,data,'C',data_size,
INPUT_COLOUR);
field_cursor(0,column);
inchar = field_char_get(user.insert_mode,&row,
&column);
/* process inchar */
}
showc(mapnr,fieldnr,data);
field_end(0);