[[https://www.revelation.com/|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]]
==== AREV screen saver (AREV Specific) ====
=== At 19 APR 2004 03:14:46PM Brian McCullough wrote: ===
{{tag>"AREV Specific"}}
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
[i]World Leaders in all things RevSoft[/i]
[img]http://www.sprezzatura.com/zz.gif[/img]
----
=== 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 cchristie@spila.com 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.
[[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=NONWORKS_READ&SUMMARY=1&KEY=AEB9E7C6093502E885256E7B0069B918|View this thread on the forum...]]