Reader's Clinic - Capture Command and Captured Keystrokes
Catalyst
Popups
Catalyst Tips
QTIPS - NoRead
Reader's Clinic - EVAL
QTIPS - New Catalyst Option
RTP Series - RTP17
QTIPS - PERFORM Arguments and FMT Specifications
What's New (and un(der)documented!) In 2.12
Vroom
QTIPS - Replacing GAS.BAR routine during PERFORM "SELECT"
QTIPS - Extended Select BY
QTIPS - PERFORM Arguments and FMT Specifications
What's New (and un(der)documented!) In 2.12
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 - Functions and Subroutines
Argument passing - Subroutines and Functions - Mike Pope
QTIPS - Menus Without an Action Bar
QTIPS - Modifying EasyWriter To Display Field Descriptions
Form.List.S
Make.Index
Index Sub Revisited
QTIPS - Make.Index 2.11+
QUERY.SUB
Version 3 Technical Highlights - Creating New Accounts Programmatically
Version 3 TCL Subroutines - Creating New Accounts
Version 3 TCL Subroutines - Creating Tables
@ATTACK - @Modal
Popups
Catalyst Tips
@ATTACK - @Return.Value
VERBatim - V126
Esc.To.Exit
Uncommon Knowledge - WC_WST_CHAR%
SecureUser
VERBatim - V86
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
VERBatim - V47
Catalyst
@ATTACK - @Ans
QTIPS - Compiling Work around on runtimes
QTIPS - Potential Problem When Using @ANS
Catalyst
Creating Your Own Background Processes
@ATTACK - @Data
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
QTIPS - @Playback Vs @Data
QTIPS - Use of Mouse
Uncommon Knowledge - WC_WST_CHAR%
Reader's Clinic - Screen Width
Screen Grabber
Reader's Clinic - Slow Multivalued Screen Display
Utility Diskette # 4
Set_Attach_Sub and Attach images
Catalyst
Capture
@ATTACK - @PlayBack
QTIPS - @Playback Vs @Data
Capture Playback and Convert.Keystrokes
QTIPS - Browse Lists in Collector Windows
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
Reader's Clinic - Functions and Subroutines
Reader's Letters - Jim Owen
Playing with Scan Codes
Argument passing - Subroutines and Functions - Mike Pope
Utility Diskette # 3 - Part II
QTIPS - File Naming - RLIST Problems
Catalyst
Uncommon Knowledge - WC_Reset%
Uncommon Knowledge - WC_Amv_Action%
Uncommon Knowledge - WC_Is%
Networked %SK%
Catalyst
Reader's Clinic - Preventing Records Being Amended
Uncommon Knowledge - WC_DataFile_Next%
REVMEDIA Revisted
Uncommon Knowledge - WC_Src_File%
Prompt Help
Reader's Clinic - Scribe Replace Processes in Window
Vroom
RTP Series - RTP32
Utility Diskette # 3 - Part I
QTIPS - Browse Lists in Collector Windows
Collector Windows
QTIPS - Collectors on the fly
Window or Not ?
Vroom - Window Processing
QTIPS - Window Symbol Tables
VROOM - Window Processing II
@ATTACK - @HW
Uncommon Knowledge - WC_Reset%
Reader's Clinic - Related Windows
Window or Not?
Reader's Clinic - Scribe Replace Processes in Window
Soft Windows
QTIPS - Window Bug and Debugging Window Bug
Overlapping Windows And Window Menus
QTIPS - New Catalyst Option
QTIPS - Collectors on the fly
QTIPS - Blank Menus in Windows
QTIPS - Moving Objects the EASY way.
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
QTIPS - Command Line Options
QTIPS - Invalid Code and Command
QTIPS - Code/Command Help
Utility Diskette # 4

RevMedia FKB

DocumentV1I1A2
TitleCatalyst
KeywordsCATALYST
@DATA
@ANS
@PLAYBACK
WC_IS%
WC_SRC_FILE%
@CAPTURE
TextOne of the nice things about catalyst is that there are so many unexplored
areas of it Everybody uses the standard CALLS but it's sometimes
interesting to ponder why certain facilities were included but others
omitted for EXAMPLE why have an Execute and a Perform but not their PC
equivalents?

Anyway in this short article I'll assume that you don't need to be told the
basics (P W E B X V codes et al If you are not familiar WITH Catalyst
and its usage then let me know and if needs be I'll expand on it in a later
edition ) but that you may not be familiar WITH some of the more obscure
codes and specifically WITH some of the more obscure code modifiers

First things first it is possible to "Stack" catalyst CALLS by separating
them WITH semicolons

DECLARE SUBROUTINE CATALYST
CATALYST("X;P" "SSELECT VOC;POPUPS*VOC")

This has the effect of taking the first catalyst action specified then the
second then the third until all of the stacked code/command sets are
exhausted

Modifiers
It is ALSO possible to modify catalyst CALLS by adding another code after
the main code concatenated DIRECTLY onto it These modifiers permit us to do
some quite sexy things

= How many subroutines have you written to make a catalyst call to a
popup and then take the value returned and put it in a DATA statement
(this avoids the user choosing a value FROM the popup and then having
to press return again to enter the data)? Well this can be avoided by
the use of the "=" modifier Simply add an equals sign to the end of
your code and whatever would have come back in @ANS now comes back in
DATA
DECLARE SUBROUTINE CATALYST
CATALYST("P=" "POPUPS*VOC")

: A similar modifier is ":" which returns @ANS into @DATA (same as =
but without the carriage return)

R Saves the screen image and restores it when the catalyst call has been
completed

P Saves @PLAYBACK (See Readers' Clinic)

M Adds @RM to the end of @ANS (@RM can be used in conjunction with
browse lists)

C Clear the screen before proceeding


Codes
S/L Some confusion arises among beginners to AREV between the use of the S
and L codes Quite simply there is no difference Both perform the
same function that of CALLING a subroutine WITH an optional branch
label The existence of both codes is a hangover FROM original system
DEVELOPMENT when S was not going to allow a passed parameter and L was

O Opens the filename contained in WC_IS% to WC_SRC_FILE% It can thus be
used as the post prompt on the key field of a collector window if the
collector window is to prompt for a file and then allow amendments of
the records in that file This code does not take a command

@ Adds the CAPTURE record nominated into @CAPTURE

H The HELP code has so many permutations that it is worth its own
article One of the most useful codes though is HFT The calling
syntax is

CATALYST("HFT" "Main rec Browse rec")

This command looks into the SYS HELP file for a record WITH the same
key as Main rec It then displays this help record but if the user
presses F2 the SYSTEM looks for the second record specified as
Browse rec and treats this as a browse list displaying a popup of
additional help topics To TEST this try the following

CATALYST("HFT" "ENTRY EDIT PAINT TOPICS" )


(Volume 1 Issue 1 Pages 4 9)
[revmedia/copyrigh.htm]

Page last modified: 30/01/03