Version 3 Technical Highlights - Customising NewApplication Creation
Utility Diskette # 3 - Part II
Reader's Clinic - Slow Multivalued Screen Display
QTIPS - Command Line Options
Customising the Status Line
Prompt Help
QTIPS - Improved Menu Help 1
QTIPS - Improved Menu Help 2
@ATTACK - @Macro.Hex
Playing with Scan Codes
Uncommon Knowledge - WC_Detail_Help%
Uncommon Knowledge - WC_Protect_Help%
Prompt Help
Reader's Clinic - Scribe Replace Processes in Window
Redefining Keys
Referential Integrity
@ATTACK - @Edit.Keys
@ATTACK - @Environ.Keys
@ATTACK - @Int.Const
@ATTACK - @Move.Keys
@ATTACK - @Priority.Int
@ATTACK - @Macro.Keys
@ATTACK - @Macro.Mode
Playing with Scan Codes
Uncommon Knowledge - WC_Unkeys%
Uncommon Knowledge - WC_Except_Keys%
Uncommon Knowledge - WC_Soft_Keys%
SecureUser
VERBatim - V86
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
Reader's Clinic - Screen Width
Screen Grabber
Reader's Clinic - Slow Multivalued Screen Display
Utility Diskette # 4
Viewer
QTIPS - Using INIT.VIEW with Printers
REVMEDIA Revisited
QTIPS - Sub-Headings in RLIST (Revisited)
RTP Series - RTP42
RTP Series - RTP51
Reader's Clinic - AREV Runtime
@ATTACK - @PDisk.On
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
AREV Comes to Czechoslovakia Les Palenik, Cosmotron Systems
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
Networked %SK%
Network Contention
Directory Exists on Novell
QTIPS - String Space Format Errors
QTIPS - Postscript Driver Problem
RTP Series - RTP42
VERBatim - V65
Argument passing - Subroutines and Functions - Mike Pope
Redefining Keys
RTP Series - RTP53B
Prompt Help
VERBatim - V124
Popups
@ATTACK - @Environ.Set
@ATTACK - @Edit.Keys
@ATTACK - @Int.Const
@ATTACK - @HW
@ATTACK - @Modal
@ATTACK - @Move.Keys
@ATTACK - @Priority.Int
@ATTACK - @Macro.Mode
Utility Diskette # 3 - Part I
Utility Diskette # 3 - Part II
Utility Diskette # 4
QTIPS - Form Processor
QTIPS - Reusing Symbolics in Windows
Soft Windows
QTIPS - Query Windows - Changing Colours
Reader's Clinic - Template Name at Pre-Init
Caching in on the Frames Array - Mike Pope
Advanced Revelation Assembler Interface Module - Yves Pattyn, Technical Manager, Distribase, France
VERBatim - V6
QTIPS - Suppressing Initial Form Feed
QTIPS - Using RTP29 In Place of V6
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
Version 2
Directory Exists on Novell
Gas Bar
Prompt Help
DOS Interfacing (Part II)
@ATTACK - @Help.Level
@ATTACK - @StatList
QTIPS - Standardising Error Message Display
Video Control
Customising the Status Line
@ATTACK - @Modal
Gas Bar
Prompt Help
@ATTACK - @CrtMaxHigh
@ATTACK - @Modal
@ATTACK - @Status.On
Window or Not?
REVMEDIA Revisited
Utility Diskette # 4
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)
Prompt Help
VERBatim - V6
QTIPS - BASIC Options
The End of the Line - Mike Pope and Hal Wyman
REVMEDIA Revisted
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

DocumentV1I5A17
TitlePrompt Help
KeywordsPROMPT
HELP
UTILITY.DOC
STATUP
STATUS.CONSTANTS
$INSERT
GAS.BAR
TextDevelopers familiar WITH other application generators for the PC may like
the way in which some of these packages display a single line of help for
each prompt where the CURSOR is currently positioned This can tell the user
briefly what is being asked for and point to other keys which may be of use
This feature is often preferable as frequently all the user needs is a
memory jogger not a full screen of help

With a view to implementing a similar feature under AREV I considered the
best way to do it To put the help in a separate file would slow down access
on a network but to put it into LABELLED common would use up valuable
labelled common areas I decided to use the Prompt Registers mentioned in
the UTILITY DOC file Thus when the template was loaded the help would be
loaded and access would be instantaneous The only remaining problem was how
and where to display the help Having considered all kinds of complicated
ploys pre and post prompt options to display and remove the message I
finally arrived at a much simpler solution The user has by now been trained
to look at the status line for help so all information should be posted
there To get it there obviously requires a call to STATUP so the solution
was simply to put a call to STATUP on the preprompt of every prompt This
removes the need to look AFTER the debris left behind by the previous prompt
each successive STATUP call overwrites the previous

Thus (assuming the help was in Prompt Register 1 and that STATUS CONSTANTS
had been $INSERTed FROM the appropriate location) the code on the Pre
Prompt hook would be

$INSERT STATUS CONSTANTS

PRE:
PROMPT REGISTER1 = SI<47>
STATUP(SINGLE$ 3 PROMPT REGISTER1)
RETURN

The only remaining problem was how to get the help into the Prompt
Registers To ease this task I developed the following utility It simply
takes a nominated template and for each prompt asks for a single line of
help (showing the previous help if any for amendment) This help it then
inserts into the appropriate prompt on the template in the position for
Prompt Register 1 CALLING syntax (from TCL) is PROMPT HELP
{@template file@} template name

The only problem of which I am currently aware WITH this routine occurs
when a new record is added In this case the record id and the "New Record"
message appear briefly on the status line before being replaced by our
single line help This is however hardly noticeable and so I am leaving this
for now! (On a RELATED topic Al Blake of the Nature Conservancy Council
points out that if your user help LEVEL is set to 2 in the GAS BAR program
of issue 2 the screen corrupts when GAS BAR is used The solution is to
include a dummy VARIABLE name in which to PUSH the old status line image)


0001 ! PROGRAM PROMPT HELP designed for use at TCL
0002 * Author AMcA
0003 * Purpose To add/amend single lines of help for each
0004 * prompt on a template Copyright Sprezzatura
0005 * Ltd 1989 Permission is granted for REVMEDIA
0006 * subscribers to use this program for any
0007 * purpose No liability accepted for use
0008 GOSUB SET UP
0009 GOSUB GET PARAMS
0010 IF OK THEN
0011 GOSUB PROCESS
0012 WRITE WINDOW ON TF SCREEN
0013 END
0014 STOP
0015
0016 SET UP:
0017 DECLARE SUBROUTINE MSG
0018 DECLARE FUNCTION POP UP
0019 EQU TRUE$ TO 1
0020 EQU FALSE$ TO 0
0021 EQU TEXT$ TO "Please ENTER single line help for %1%"
0022 OK = FALSE$ ; TEMPLATE FILE = ""
0023 RETURN
0024
0025 GET PARAMS:
0026 GOSUB PARSE SENTENCE
0027 IF T FILE = "" THEN T FILE = "TEMPLATES"
0028 IF SCREEN = "" THEN
0029 CALL MSG("Please enter window name" "RC" SCREEN "")
0030 END
0031 OPEN T FILE TO TF THEN
0032 READ WINDOW FROM TF SCREEN THEN
0033 OK =TRUE$
0034 END ELSE
0035 MSG("Window is not on file" "" "" "")
0036 END
0037 END ELSE
0038 MSG("Template file is not attached" "" "" "")
0039 END
0040 RETURN
0041
0042 PROCESS:
0043 CTR = WINDOW<1> + 1 ; * Offset to SKIP prompt count
0044 FOR X CTR = 2 TO CTR
0045 * Only add help for F FIELD
0046 IF WINDOW = "F" THEN
0047 ANS = WINDOW; *Prompt Register 1
0048 MSG(TEXT$ "R" ANS WINDOW)
0049 WINDOW = ANS
0050 END
0051 NEXT
0052 RETURN
0053
0054 PARSE SENTENCE:
0055 SENT = TRIM(@SENTENCE)
0056 IF SENT [1 3] = "RUN" THEN SENT = FIELD(SENT " " 3 99)
0057 SCREEN = FIELD(SENT " " 2) ;SENT = FIELD(SENT " " 3 99)
0058 IF SCREEN [1 1] = "@" THEN
0059 * Must be identifying template file to use
0060 T FILE = SCREEN[2 "@"] ; SCREEN =FIELD(SENT "" 1)
0061 END
0062 RETURN


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

Page last modified: 08/02/03