In case anybody is interested I've pasted the code that works below.
It forms the custom EEP of an enhanced speed button that, when clicked,
displays the available info in the button's hint text.
I thought that it could be handy to hide a tiny button on a form for
debugging or, even, general info. With judicious use of the hot track colour
the button's text can be made visible for clicking to update the data. Since
the ESB does not take focus it gives the data of the currently focused item.
Take the code and use at will if required,
Regards,
Alastair.
-- Form Data button - Custom EEP ... ... 14/05/2009.
SET VAR vFormData TEXT = NULL
SET VAR v1 INTEGER = NULL
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_FORMNAME'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData & 'Form Name:' &
(CTXT(.RBTI_FORM_FORMNAME)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_ALIAS'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Form
Alias:' & (CTXT(.RBTI_FORM_ALIAS)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_MODE'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Form Mode:'
& (CTXT(.RBTI_FORM_MODE)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_COMPID'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Component
ID:' & (CTXT(.RBTI_FORM_COMPID)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_DATATYPE'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Data Type:'
& (CTXT(.RBTI_FORM_DATATYPE)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_TBLNAME'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Table
Name:' & (CTXT(.RBTI_FORM_TBLNAME)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_DBGRID_COLUMN'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'DB Grid
Column Name:' & (CTXT(.RBTI_DBGRID_COLUMN)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_COLNAME'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Column
Name:' & (CTXT(.RBTI_FORM_COLNAME)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_COLVALUE'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Column
Value:' & (CTXT(.RBTI_FORM_COLVALUE)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_VARNAME'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Variable
Name:' & (CTXT(.RBTI_FORM_VARNAME)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_VARVALUE'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Variable
Value:' & (CTXT(.RBTI_FORM_VARVALUE)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_FORM_DIRTYVAR'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Variable
Dirty:' & (CTXT(.RBTI_FORM_DIRTYVAR)) )
ENDIF
SET VAR v1 INTEGER = (CHKVAR('RBTI_DIRTY_FLAG'))
IF v1 = 1 THEN
SET VAR vFormData = (.vFormData + (CHAR(013)) + (CHAR(010)) & 'Form
Dirty:' & (CTXT(.RBTI_DIRTY_FLAG)) )
ENDIF
-- PAUSE 2 USING .vFormData
PROPERTY IDB_FormData HINT .vFormData
CLEAR VAR v1, vFormData
RETURN
----------------------------
Alastair Burr
St. Albans, UK.
[email protected]
-----------------------------