CompuServe Thread

#AREXX script

5 messages in this thread
#33614From: Frank RobertsMar 26, 1993 8:03 AM
All… Does anyone know how to turn off the echo from an AREXX script ? For example: user enters a password but it cannot be seen on screen. AREXX doesn't seem to have a command for turning the echo off, nor does it seem to have commands to change screen colors. Does anyone know what memory poking can be done to change the input color to the background color (this would be an effective way to type an invisible password). — from within an AREXX script ? Thanks. Frank.
#33615From: Bill HawesMar 26, 1993 8:15 AM
Frank, You might want to try opening a RAW: window from your ARexx program and then read the password from there. Characters typed in a RAW window aren't echoed to the display. -Bill Hawes
#33732From: Matthew J. W. RatcliffMar 29, 1993 8:08 PM
The idea of changing the text to a backgroung color is pretty good… the sequence say esc'[30m', should output the ANSI sequence to change the foreground pen to color 0, you can change it back with <esc>[0m, or <esc>[31m, if you don't want to upset your other styles esc must be the escape char, ascii 27. also try esc followed by: [1m, [2m, [3m, [42m, etc.
#33920From: Alex GianApr 4, 1993 9:25 AM
Frank What you want to do is fairly easy if you use the standard ANSI console control commands. E.g: I am not sure how to turn the echo off (or indeed if the echo CAN be turned off), but what I do is set the text to the same colour as the background, so it is practically invisible. /* some ansi examples */ Reset = '9b'x || '0m' Invisible = '9b' || '31;41m' Colourful = '9b' || '33;42m' Italic = '9b' || '3m' /* etc…*/ SAY Colourful || 'The invisible '||, Invisible || 'Man '||, Reset || Italic || 'was here'||, Reset /* don't forget to */ SAY 'Bye…' The full list of ANSI codes can be found in the RKM (under console.device), but any ANSI documentation should have them. In fact if you do not use the SAY instruction (which forces a line-feed at the end of each statement), but instead write directly to the console (in conjunction with the ANSI codes), you can have full control of tab positions, cursor, screen clearing etc. The way to do this is by opening the console as a file for writing. The system name for the console is "*". E.g: /*…*/ open(console,'*','w') message = 'Lots of codes etc.' writech(console,message) writech(console,'0a'x) /* a RETURN */ I hope this gives you an idea… Alex
#33935From: Frank RobertsApr 4, 1993 6:29 PM
Thanks, Alex. Just what I needed. I knew there was a way…just couldn't find the documentation necessary. Regards, Frank