| Background Processing |
| Creating Your Own Background Processes |
| @ATTACK - @Index.Time |
| How Indexes Are Updated |
| Creating Your Own Background Processes |
| @ATTACK - @Last.Select.Process |
| Reader's Forum |
| QTIPS - Menu Item Pre-Processing |
| Networked %SK% |
| Network Contention |
| Directory Exists on Novell |
| QTIPS - String Space Format Errors |
| QTIPS - Postscript Driver Problem |
| Reader's Clinic - Preventing Records Being Amended |
| QTIPS - Finding/Replacing Spaces With The Editor |
| Reader's Clinic - Scribe Replace Processes in Window |
| Reader's Clinic - Functions and Subroutines |
| Argument passing - Subroutines and Functions - Mike Pope |
| QTIPS - DOSTime |
| VERBatim - V11 |
| @ATTACK - @Backgrnd.Time |
| @ATTACK - @Index.Time |
| QTIPS - Time-outs in Windows |
| RTP Series - RTP25 |
| RTP Series - RTP27 |
| QTIPS - Printing Large Variables from the Debugger |
| VERBatim - V87 |
| @ATTACK - @TCL.Stack |
| Reader's Clinic - Capture Command and Captured Keystrokes |
| Make.Index |
| Capture |
| REVMEDIA Revisted |
| QTIPS - Assorted Oddments |
| Capture Playback and Convert.Keystrokes |
| QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages |
| @ATTACK - @Lower.Case |
| @ATTACK - @Upper.Case |
| Sorting out Collation Sequences by Mike Pope |
| @ATTACK - @Cursors(x) |
| @ATTACK - @List.Active |
| @ATTACK - @Rec.Count |
| Playing with Scan Codes |
| QTIPS - SET.MACROS - Choosing Active Macro Set |
| Reader's Forum |
RevMedia FKB
| Document | V2I10A4 |
| Title | Creating Your Own Background Processes |
| Keywords | BACKGROUND PROCESS INDEX.CONTROL INPUT.CHAR @CAPTURE @SCRIPT @DATA |
| Text | Version 2 0 added the ability to add index processing hooks to be called either in place of INDEX CONTROL or AFTER INDEX CONTROL has completed its own processing These are DEFINED in Management Environment INDEXES Many subscribers have indicated that they steer clear of these features because they are unsure as to how they work This article outlines the major points to be aware of when developing either process A simple starting project to experiment WITH on a network is an EMail process to check for mail for the user when the keyboard is left alone A working prototype should be possible with less than one hours work Replace Background The Replace Background routine must be a called subroutine but may then do anything required by the developer Note that if this is used INDEXES will not be updated unless the developer CALLS INDEX CONTROL when processing has completed If this is done control will not be returned to the replace background process until the user has pressed a key then left the keyboard alone again Once INDEX CONTROL has been called it keeps control (see Volume 1 Issue 4 pp10 11) Post Index Check The Post Index Check routine must be a called subroutine but may then do anything required by the developer It is called FROM within INDEX CONTROL when updating INDEXES has completed Note that if this is used INDEXES will not continue to be updated unless the developer returns control to INDEX CONTROL when processing has completed (Thus when the Post Index Check has completed it should RETURN not sit in a LOOP waiting for a keystroke ) Caveats In both cases the developer ought to check for the user pressing a keystroke and return control to the user as soon as is practically possible For this reason routines ought to be developed in a modular fashion WITH checks for input between each module If this is not done the routine may become unusable Note that INPUT CHAR should not be used to check for a keystroke as AFTER the wait time has elapsed it will recall the user DEFINED routines which will recall INPUT CHAR which AFTER the wait time has elapsed will recall the user DEFINED routines which Bear in mind that if a key is pressed that key MUST not be "gobbled up" but must be passed back to the next process For this reason an INPUT X 1 should be used (not the INPUT statement) and the character should be put onto the data stack IE IF X THEN @DATA := X Further be aware that the user might simply have left the keyboard unattended in the middle of a capture script If this is the case the keystroke must ALSO be included in the capture script To see if a capture script is active check @CAPTURE IF X THEN IF @CAPTURE THEN @SCRIPT := X END @DATA := X END (Volume 2 Issue 10 Page 4) |
Page last modified: 30/01/03