In order for this site to work correctly, and for us to improve the site, we need to store a small file (called a cookie) on your computer.
By continuing to use this website, you agree to our cookies and privacy policy.
Home page Home page Home page Home page
Pixel Header R1 C1 Pixel
Pixel Header R2 C1 Pixel
Pixel Header R3 C1 Pixel

REVMEDIA Revisited

To ensure that your documentation is as up to date as possible we introduce an occasional series intended to bring previous REVMEDIA articles into line with release 2.1 of AREV. Note that we will normally emphasise information that has become outdated - new features will be left to later issues unless they directly impact on RTPSeries, VERBatim and @ATTACK. My thanks to all subscribers who have helped by notifying me of bugs or discrepancies. Thanks also to RevTech for fleshing out some of the previously "unsure" RTPs. Special thanks to Dave Mills of the Nature Conservancy Council.


0001  Page 8    Reference is made to modifying $RTP1 to change the "Processing"
0002            message at logon. This is no longer necessary as all logon
0003            messages are stored in the DOS file REVBTMSG on REVBOOT and can be
0004            modified there.
0006  Page 9    Codes S/- the two codes are slightly different, not identical as
0007            stated. The L code is not able to access window registers.
0009  Page 10   Alt-M no longer corrupts an active select list and the "locate by"
0010            anomaly has been fixed.


Page 2 FILE.LOC has been removed Page 3 The bug has been fixed. Page 3 The system has been modified so that if any of the prompts to be redisplayed or removed are multi-valued and/or required then all other necessary WINDOW_COMMON% variables are kept in step. Page 10 If the help level is anything other 0, screen corruption can occur whilst using GAS.BAR. Neil White of the Inland Revenue and Al Blake point out that the location parameter in the STATUP call cannot be a null value if the help level is not 0 (See 2.1 Addendum p8.69). It must contain a template name from @STATLIST. The template will not be affected by this operation. He suggests changing line 22 by inserting the following

0001              if @HELP.LEVEL # 0 then
0002                 DUMMY = "LIST"
0003              end else
0004                 DUMMY = ""
0005              end
0006              statup(PUSH$, DUMMY, SAVE.STATUS)

Note further that if @REC.COUNT = 1, the bar will not clear down properly. This then effects subsequent calls. To avoid this problem test for @REC.COUNT > 1 rather than IF @REC.COUNT on line 17. See also the corrections in the editorial of Volume 1 Issue 3 for this code listing.


Page 4 Note that the "File" where the index is located is a dictionary file.


will break with a non- numeric message if alpha characters are summed.

Page 7 RTP38 performs Filing System flushes, not complete frame flushes.

Page 7 RTP42 is used to maintain system labelled common information.

Page 10 This article has been superseded by the new index hook functionality.


support it. This tends to suggest that the functionality has been built into a lower level of RTP18 and RTP18.ENGLISH.

Page 6 V6 now supports A B F and K.

Page 6 V7 has been removed.


Page 3 Message display when using BTREE.EXTRACT can now be suppressed by using the optional flags provided. Parameters five and six in a BTREE.EXTRACT call are used to indicate options and error flags respectively. Passing an "E" in options will suppress all error messages, whilst passing an "S" will display all informational messages. (See 2.1 Addendum p 8.9 but bear in mind that it IS possible to suppress both kinds of message by passing SE or ES).

Page 4 OSOPEN - the line "If the status is 2, the directory exists, if 2 a file exists with that name" should read "If the status is 2, the directory exists, if 4, the directory does not exist and if 0, a file exists with that name."

Page 4 SETPTR - An additional error codes of 4 exists, meaning Not Enough File Handles. As a side point, users of products such as HIJAAK may get this message when trying to capture screens from within AREV due to the amount of files AREV holds open. To get round this, issue a FLUSH or PC at TCL - this will free up file handles.

Page 6 INIT.VIEW has been amended to work better within called subroutines. However usage can be a little disconcerting unless properly understood. There are two ways to utilise report programs using INIT.VIEW, by calling subroutines that use it and by EXECUTE "RUN" programs / subroutines that use it. The latter is normally to be preferred. Unfortunately VIEWER behaves in an unusual manner which does not lend itself to a lucid explanation. The pseudo code following attempts to explain it.

0001             loop
0002             until <Esc> pressed
0003               begin case
0004                case key = PgDn
0005                 if LAST_PAGE and FIRST_TIME
0006                  run rest of subroutine then
0007                    if called as subroutine then
0008                     return to calling subroutine
0009                     complete calling subroutine
0010                     return to page logic
0011                    else
0012                     if RUN by EXECUTE/PERFORM then
0013                      stay in page logic until <Esc>
0014                     end
0015                    end
0016                  end
0017                 else
0018                  if not(LAST_PAGE)
0019                    show next page
0020                  end
0021                 end
0022                case key = PgUp
0023                 if not(FIRST_PAGE) then
0024                  show previous page
0025                 end
0026               end case
0027             repeat

To clarify the above, try running the following sections of code and pressing PgDn at the bottom of the report

0001            *  EXAMPLE 1
0002             perform "RUN BP TEST"
0003             * NB This only displays after <Esc>
0004             call msg("And back","","","")

0001             * EXAMPLE 2
0002             call TEST
0003             * NB this displays after 1st PgDn at bottom
0004             call msg("And back","","","")

0001             subroutine test
0002              call INIT.VIEW(40)
0003              @VIEW.MODE = 1
0004              heading "TEST REPORT"
0005              for X = 1 TO 150
0006               print "TESTING INIT VIEW " : X
0007              next
0008              call msg("Bottom of Report 1!","T2","","")
0009              for X = 1 to 150
0010               print "and more! " : X
0011              next
0012              call msg("Bottom of Report 2!","T2","","")
0013             return

Note further that VIEWER now uses the video attributes set up in @AW so that the colour may be controlled by manipulating the following @AW fields :- < 1 > VIEW window border and title < 2 > HEADING/FOOTING and COLHEADING < 3 > Background to use in absence of any other (indicated by a CHAR(127) in the background byte position). < 8 > Main text colour < 9 > Border type

Page 10 SECUREUSER - see editorial of issue 8 for correction to object code modification.

(Volume 3, Issue 4, Pages 6-9)
Pixel Footer R1 C1 Pixel