Reader's Clinic - Naming Routines
Reader's Clinic - Prompting for Passwords
Reader's Clinic - Removing "Searching Cross References" Message
Message
Trapping Message Calls
A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd
QTIPS - Standardising Error Message Display
QTIPS - Interrupt Proof Error Messages
QTIPS - Improving the Message Window
Version 3 Technical Highlights - New Message Types
RTP5 and RTP51
RevTi Just Wanna Have Fun
Playing with Scan Codes
QTIPS - Compiling Protection Code
QTIPS - Invalid Code and Command
QTIPS - Code/Command Help
Compiling 64K on a Shoestring by Blaise Wrenn (LexStat Systems Ltd)
Reader's Clinic - Line Length > 256 Characters
Reader's Clinic - Prompting for Passwords
Trapping Message Calls
@ATTACK - @Messages
A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd
Utility Diskette # 3 - Part I
REVMEDIA Revisted
QTIPS - Standardising Error Message Display
QTIPS - Improving the Message Window
Version 3 Technical Highlights - New Message Types
QTIPS - DOS File Names
DOS Interfacing (Part II)
VERBatim - V116
@ATTACK - @Pri.File
@ATTACK - @Rollout.File
File Variables
How Indexes Are Updated
Index Record Layouts
QTIPS - File Variable of File In SELECT Statement
QTIPS - Amending non-Attached Files
LINEAR HASH FILE STRUCTURES - Part 1
Index Flush
QTIPS - File Handle Structure
RTP Series - RTP42
VERBatim - V65
Argument passing - Subroutines and Functions - Mike Pope
QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages
QTIPS - Local Language Sets
Sorting out Collation Sequences by Mike Pope
File Variables
Argument passing - Subroutines and Functions - Mike Pope
RevTech Replies - Mike Pope (RevTech UK Ltd)
Symbol Table Structure
DOS Interfacing (Part II)
Reader's Clinic - Preventing Records Being Amended
How Indexes Are Updated
A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd
Caching in on the Frames Array - Mike Pope
Utility Diskette # 3 - Part II
Reader's Clinic - Slow Multivalued Screen Display
Reader's Clinic - Functions and Subroutines
Argument passing - Subroutines and Functions - Mike Pope
RTP Series - RTP1
VERBatim - V20
File Variables
SecureUser
VERBatim - V25
@ATTACK - @Files.System
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
REVMEDIA Revisted
Utility Diskette # 3 - Part II
Set_Attach_Sub and Attach images
@ATTACK - @Modal
Vroom
Vroom - Window Processing
Reader's Forum
VROOM - Doubling MFS Write Speed
Reader's Clinic - Functions and Subroutines
Reader's Letters - Jim Owen
Playing with Scan Codes
Argument passing - Subroutines and Functions - Mike Pope
Bugs and PCs - Indexing 01 vs 1
RTP Series - RTP33
QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages
@ATTACK - @Lower.Case
@ATTACK - @Upper.Case
Sorting out Collation Sequences by Mike Pope

RevMedia FKB

DocumentV1I8A28
TitleTrapping Message Calls
KeywordsMESSAGE
MSG
TextSean Leyne FROM Michael D Atkin & Associates Ltd wrote to us recently
commenting as follows

"I was very interested/impressed WITH your solution to the message B234
problem However I thought that a more general solution could be created to
handle trapping of all unwanted messages "

"The code (MSG) that follows can accomplish this goal without modifying
object code Another benefit of this routine is for the handling of
multi lingual applications by allowing for multiple versions of a message to
be stored in the messages file displayed depending on the language
preferred The enclosed routine could be modified keeping the following in
mind

1) LABELLED Common Variables
Language Prefix (ie F French)
Message File Variable (for READ statement)

2) A Pre Display check for message existing where TEMP ID =
PARM1:PREFIX

READ TEMP FROM MESSAGE FILE TEMP ID THEN
PARM1 := PREFIX
END

"The benefit of such a routine is that it prevents the messages FROM being
overwritten by RTI upgrades " WITH Sean's permission I reproduce below his
code listing

0001 SUBROUTINE MSG(PARM1 PARM2 PARM3 PARM4)
0002 *
0003 * Copyright Michael D Atkin & Associates Ltd 1989 permission
0004 * granted for REVMEDIA subscribers to use this program
0005 * for any purpose
0006 *
0007 * No liability is accepted for use
0008 *
0009 * Author Sean J Leyne
0010 *
0011 * Purpose This subroutine traps all CALLS to the system MSG
0012 * (renamed MSG RTI) The routine compares the message
0013 * number against a list to be excluded if found a
0014 * DEFINED label is assigned to PARM3 (IMAGE) for later
0015 * evaluation and the call to MSG RTI is ignored
0016 *
0017 * Remember WITH each upgrade there is a possibility of
0018 * $MSG being overwritten Therefore care must be taken
0019 * to check AFTER each upgrade
0020 *
0021 * Finally for speed and code overhead purposes compile
0022 * the code USING the (CL) option
0023 *
0024
0025 DECLARE FUNCTION UNASSIGNED
0026
0027 * Check if parameters assigned important for later evaluation
0028
0029 IF UNASSIGNED(PARM1) THEN PARM1 = ""
0030 IF UNASSIGNED(PARM2) THEN PARM2 = ""
0031
0032 EXCLUDE LIST = "B234"
0033 FOUND = 0
0034
0035 IF PARM1 THEN
0036 LOCATE PARM1 IN EXCLUDE LIST USING " " SETTING POS THEN
0037 FOUND = 1
0038 END ELSE
0039 FOUND = 0
0040 END
0041 END
0042
0043 BEGIN CASE
0044 CASE FOUND
0045 * Message was found in exclude list load PARM3 ignore call
0046 PARM3 = "NO SHOW"
0047 CASE PARM3 = "NO SHOW"
0048 * Being asked to remove message never displayed Ignore call
0049 PARM3 = ""
0050 CASE 1
0051 CALL MSG RTI(PARM1 PARM2 PARM3 PARM4)
0052 END CASE
0053
0054 RETURN


(Volume 1 Issue 8 Pages 10 11)
[revmedia/copyrigh.htm]

Page last modified: 08/02/03