Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 19 APR 2004 03:14:46PM Brian McCullough wrote:

Not sure if this is doable, but has anybody written any code in AREV to bring up a screen saver(password protected) after a set time of idleness? Any help would be appreciated.


At 19 APR 2004 03:34PM The Sprezzatura Group wrote:

Eminently doable on a post index or replacement index check. I'm sure some of the earlier REVMEDIA diskettes had such a beast…

The Sprezzatura Group

World Leaders in all things RevSoft


At 20 APR 2004 07:31AM Cameron Christie wrote:

FWIW, I've found it easier on a "replace" rather than a "post" index call, assuming you have a dedicated indexer elsewhere. You may then have to "reload" Input.Char() yourself, which can be done by forcing a pair of non-functional characters into the buffer e.g.

@Data=\1F1F\ ;* this presses Ctrl-Hyphen, twice.

One other thing to watch is how you prompt for the password. If you use the traditional MSG "RI" type note that this doesn't yield to windows, and the performance of other tasks can suffer after your AREV screen saver kicks in.

I can probably dig out some of my old code which drops a green and black mask over the window, so you can still see what the user was doing when it timed out. If you drop your email address to [email protected] I'll send you a copy.


At 20 APR 2004 03:49PM Ralph Johler wrote:

Here is one, probably from an old toolkit - hit any key to exit:

EXPENDABLE SUBROUTINE SCREEN_SAVER

DECLARE FUNCTION VIDEO.RW, SOFT_LOGIN

DECLARE SUBROUTINE MSG, DELAY, PUSH.SESSION, POP.SESSION

$INSERT SYSINCLUDE, PRINT_CONSTANTS

$INSERT SYSINCLUDE, LOGICAL

* "program_status" values…

EQUATE QUIT$ TO 0

EQUATE INITIALIZE$ TO 1

EQUATE WAIT$ TO 2

EQUATE RESTORE$ TO 3

EQUATE VIDEO.RW_ERROR$ TO 4

program_status=INITIALIZE$

LOOP WHILE program_status

ON program_status GOSUB INITIALIZE, WAIT, RESTORE, VIDEO.RW_ERROR

REPEAT

RETURN

INITIALIZE:

  • GET.CURSOR(cursor_info)
PUSH.SESSION(ps_cursor, ps_sentence, ps_record, ps_id, ps_dict, ps_mv)
save_high =@CRTHIGH
first_time=TRUE$
message   =This space for hire!"
row       =0
col       =0
add_row   =TRUE$
add_col   =TRUE$
max_col   =79-LEN(message)
left      =0
top       =0
right     =79
bottom    =24
image     ="
error     =VIDEO.RW(left, top, right, bottom, "R", image)
IF error THEN
  program_status=VIDEO.RW_ERROR$
END ELSE
  error=VIDEO.RW(left, top, right, bottom, "C", "")
  IF error THEN
    program_status=VIDEO.RW_ERROR$
  END ELSE
    @CRTHIGH=25
    program_status=WAIT$
  END
END

RETURN

WAIT:

IF first_time THEN
  first_time=FALSE$
END ELSE
  PRINT @(-1)
  IF add_row THEN
    row += 1
    IF row EQ 24 THEN add_row=FALSE$
  END ELSE
    row -= 1
    IF row EQ 0 THEN add_row=TRUE$
  END
  IF add_col THEN
    col += 2
    IF col GE max_col THEN add_col=FALSE$
  END ELSE
    col -= 2
    IF col LE 0 THEN add_col=TRUE$
  END
END
PUT.CURSOR(CHAR(0):CHAR(0):CHAR(0):CHAR(0))
PRINT @(col,row):@(NORMAL$):message:
DELAY(.25)
INPUT response, -1
  • IF LEN(response) THEN
  • program_status=IF SOFT_LOGIN(3) THEN RESTORE$ ELSE WAIT$
  • END
program_status=IF LEN(response) THEN RESTORE$ ELSE WAIT$

RETURN

RESTORE:

IF LEN(image) THEN
  error=VIDEO.RW(left, top, right, bottom, "W", image)
END
program_status=QUIT$
@CRTHIGH      =save_high
  • PUT.CURSOR(cursor_info)
POP.SESSION(ps_cursor, ps_sentence, ps_record, ps_id, ps_dict, ps_mv)

RETURN

VIDEO.RW_ERROR:

MSG("VIDEO.RW error #%1%.|Exiting SCREEN_SAVER...", "T5", "", error)
program_status=RESTORE$

RETURN


At 23 APR 2004 10:10AM Brian McCullough wrote:

Thanks for all your help. I'll give these a try.

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/aeb9e7c6093502e885256e7b0069b918.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1