/* Name : vpr.i Purpose: Copyright: IAP GmbH 1997 - 2002 Author: Klaus Erichsen, Jirko Cassuben, Bernd Hellmann ... Version: 020312 bh, 01.03.02: New API for Viper3.0 Last change: BH 25.02.03 10:52:25 */ /** Short-Form */ /* one param */ &IF LOOKUP("{1}","start,stop") > 0 &THEN &SCOPED-DEFINE vpr_mode {1} &ENDIF &IF LOOKUP("{1}","function_header,fcthd") > 0 &THEN &SCOPED-DEFINE vpr_function_header YES &ENDIF &IF LOOKUP("{1}","define_handle,defhd") > 0 &THEN &SCOPED-DEFINE vpr_define_handle YES &ENDIF &IF LOOKUP("{1}","input_param,inpar") > 0 &THEN &SCOPED-DEFINE vpr_input_param YES &ENDIF &IF LOOKUP("{1}","init") > 0 &THEN &SCOPED-DEFINE vpr_define_handle YES &SCOPED-DEFINE vpr_function_header YES &ENDIF /* abbr keys */ &IF DEFINED(vpr_init) > 0 &THEN &SCOPED-DEFINE vpr_define_handle {&vpr_init} &SCOPED-DEFINE vpr_function_header {&vpr_init} &ENDIF &IF DEFINED(vpr_start) > 0 AND "{&vpr_start}" = "YES" &THEN &SCOPED-DEFINE vpr_mode START &ENDIF &IF DEFINED(vpr_stop) > 0 AND "{&vpr_stop}" = "YES" &THEN &SCOPED-DEFINE vpr_mode STOP &ENDIF &IF DEFINED(vpr_fcthd) > 0 &THEN &SCOPED-DEFINE vpr_function_header {&vpr_fcthd} &ENDIF &IF DEFINED(vpr_hd) > 0 &THEN &GLOBAL-DEFINE vpr_handle {&vpr_hd} &ENDIF &IF DEFINED(vpr_shd) > 0 &THEN &SCOPED-DEFINE vpr_shared_handle {&vpr_shd} &ENDIF &IF DEFINED(vpr_dhd) > 0 &THEN &SCOPED-DEFINE vpr_define_handle {&vpr_dhd} &ENDIF &IF DEFINED(vpr_sup) > 0 &THEN &SCOPED-DEFINE vpr_run_super {&vpr_sup} &ENDIF &IF DEFINED(vpr_sat) > 0 &THEN &SCOPED-DEFINE vpr_add_super_at {&vpr_sat} &ENDIF /** Default-Values */ /* vpr_mode [*noop|start|stop] */ &IF DEFINED(vpr_mode) = 0 &THEN &SCOPED-DEFINE vpr_mode noop &ENDIF /* vpr_function_header [yes|*no] */ &IF DEFINED(vpr_function_header) = 0 &THEN &SCOPED-DEFINE vpr_function_header NO &ENDIF /* vpr_define_handle [yes|*no] */ &IF DEFINED(vpr_define_handle) = 0 &THEN &SCOPED-DEFINE vpr_define_handle NO &ENDIF /* vpr_input_param [yes|*no] */ &IF DEFINED(vpr_input_param) = 0 &THEN &SCOPED-DEFINE vpr_input_param NO &ENDIF /* vpr_handle varname */ &IF DEFINED(vpr_handle) = 0 &THEN &GLOBAL-DEFINE vpr_handle vpr_hd &ENDIF /* vpr_shared_handle [*|shared|new shared|new global shared] */ &IF DEFINED(vpr_shared_handle) = 0 &THEN &SCOPED-DEFINE vpr_shared_handle &ENDIF /* vpr_run_super [yes|no] */ &IF DEFINED(vpr_run_super) = 0 &THEN &IF PROVERSION BEGINS "8" &THEN &SCOPED-DEFINE vpr_run_super NO &ELSE &SCOPED-DEFINE vpr_run_super YES &ENDIF &ENDIF /* vpr_add_super_to handle */ &IF DEFINED(vpr_add_super_to) = 0 &THEN &SCOPED-DEFINE vpr_add_super_to THIS-PROCEDURE &ENDIF /** Viper Handle Define */ &IF "{&vpr_define_handle}" = "YES" &THEN DEFINE {&vpr_shared_handle} VARIABLE {&vpr_handle} AS HANDLE NO-UNDO. &ENDIF /** Viper Input Param */ &IF "{&vpr_input_param}" = "YES" &THEN DEFINE INPUT PARAM {&vpr_handle} AS HANDLE NO-UNDO. &IF "{&vpr_run_super}" = "YES" &THEN {&vpr_add_super_to}:ADD-SUPER-PROCEDURE({&vpr_handle}). &ENDIF &ENDIF /** Viper Function Header Declaration */ &IF "{&vpr_function_header}" = "YES" &THEN &SCOP vin IN &IF "{&vpr_run_super}" = "YES" &THEN SUPER. &ELSE {&vpr_handle}. &ENDIF FUNCTION vpr_GetCellWidth RETURNS INT (INPUT p-cell AS CHAR, INPUT p-group AS CHAR) {&vin} FUNCTION vpr_GetPageVSpace RETURNS INT () {&vin} FUNCTION vpr_GetGroupHeight RETURNS INT (INPUT p-group AS CHAR ) {&vin} FUNCTION vpr_GetCellHeight RETURNS INT (INPUT p-cell AS CHAR, INPUT p-group AS CHAR) {&vin} FUNCTION vpr_GetPageVPos RETURNS INT () {&vin} FUNCTION vpr_GetPageNo RETURNS INT () {&vin} FUNCTION vpr_GetCellVPos RETURNS INT (INPUT p-group AS CHAR, INPUT p-cells AS CHAR) {&vin} FUNCTION vpr_GetCellHPos RETURNS INT (INPUT p-group AS CHAR, INPUT p-cells AS CHAR) {&vin} FUNCTION vpr_GetGroupVPos RETURNS INT (INPUT p-group AS CHAR) {&vin} FUNCTION vpr_GetCellLineCount RETURNS INT (INPUT p-group AS CHAR, INPUT p-cells AS CHAR) {&vin} FUNCTION vpr_GetPrinterAttrib RETURNS INT (INPUT p_attrib AS CHAR) {&vin} FUNCTION vpr_toRTF RETURNS CHAR(INPUT p-InString AS CHAR, INPUT p-Attribs AS CHAR) {&vin} FUNCTION vpr_GetPreviewStatus RETURNS CHAR(INPUT p-wait AS INT) {&vin} FUNCTION vpr_GetCellTextHeight RETURNS INT (INPUT p-cell AS CHAR, INPUT p-group AS CHAR) {&vin} FUNCTION vpr_GetCellTextWidth RETURNS INT (INPUT p-cell AS CHAR, INPUT p-group AS CHAR) {&vin} FUNCTION vpr_GetGroupHPos RETURNS INT (INPUT p-group AS CHAR) {&vin} FUNCTION vpr_GetGroupWidth RETURNS INT (INPUT p-group AS CHAR) {&vin} &UNDEF vin &ENDIF /** START Viper */ &IF "{&vpr_mode}" = "start" &THEN IF VALID-HANDLE({&vpr_handle}) THEN APPLY "CLOSE" TO {&vpr_handle}. RUN VALUE(REPLACE("{0}","vpr.i","") + "viper.p") PERSISTENT SET {&vpr_handle}. &IF "{&vpr_run_super}" = "YES" &THEN {&vpr_add_super_to}:ADD-SUPER-PROCEDURE({&vpr_handle}). &ENDIF &ENDIF /** STOP Viper */ &IF "{&vpr_mode}" = "STOP" &THEN IF VALID-HANDLE({&vpr_handle}) THEN APPLY "CLOSE" TO {&vpr_handle}. &ENDIF /** Undefine Vars */ &IF DEFINED(vpr_mode) > 0 &THEN &UNDEFINE vpr_mode &ENDIF &IF DEFINED(vpr_function_header) > 0 &THEN &UNDEFINE vpr_function_header &ENDIF &IF DEFINED(vpr_fcthd) > 0 &THEN &UNDEFINE vpr_fcthd &ENDIF &IF DEFINED(vpr_hd) > 0 &THEN &UNDEFINE vpr_hd &ENDIF &IF DEFINED(vpr_shd) > 0 &THEN &UNDEFINE vpr_shd &ENDIF &IF DEFINED(vpr_shared_handle) > 0 &THEN &UNDEFINE vpr_shared_handle &ENDIF &IF DEFINED(vpr_dhd) > 0 &THEN &UNDEFINE vpr_dhd &ENDIF &IF DEFINED(vpr_define_handle) > 0 &THEN &UNDEFINE vpr_define_handle &ENDIF &IF DEFINED(vpr_input_param) > 0 &THEN &UNDEFINE vpr_input_param &ENDIF &IF DEFINED(vpr_sup) > 0 &THEN &UNDEFINE vpr_sup &ENDIF &IF DEFINED(vpr_run_super) > 0 &THEN &UNDEFINE vpr_run_super &ENDIF &IF DEFINED(vpr_sat) > 0 &THEN &UNDEFINE vpr_sat &ENDIF &IF DEFINED(vpr_add_super_at) > 0 &THEN &UNDEFINE vpr_add_super_at &ENDIF &IF DEFINED(vpr_init) > 0 &THEN &UNDEFINE vpr_init &ENDIF &IF DEFINED(vpr_start) > 0 &THEN &UNDEFINE vpr_start &ENDIF &IF DEFINED(vpr_stop) > 0 &THEN &UNDEFINE vpr_stop &ENDIF /* Maybe used in application procedure &IF DEFINED(vpr_handle) > 0 &THEN &UNDEFINE vpr_handle &ENDIF */