silent updating

defreeman

New Member
Hello,

I'm working on a problem which I would appriciate some help on.

I am writing an application for our RF inventory scanners. The scanner itself is basically a telnet session onto our HP Unix system running progress 8.0.

What I am doing is this.

def var vscan as char format "x(15)".

update vscan.
Bell.

The scanner produces a bell after it has read a bar code on its own. Then on the screen you see the number or charaters SLOWLY echoing back. Finally you get the bell generated from this code. This can take from 1 to 5 seconds depending on how far away you are from an access node. (yes I've timed the time between beeps). I am trying to get this time down and my theory is if I have the update be silent I maybe able to save the IO and cut some time.

What I want to do is this I want to update that vscan WITHOUT it echoing back to the screen. Even if it doesn't work for this app it could be fun to know a good technique. Like using it for password hiding on log in's

Does anyone know how to update a variable from user input without the characters being echo'd on the screen?

Thanks for your help on this,

Dave
 

ELaci

New Member
Try this:

def var vscan as char.
update vscan with frame a editing:
readkey.
if lookup(keyfunction(lastkey),"GO,RETURN,END-ERROR") > 0 then apply lastkey.
else vscan = vscan + chr(lastkey).
end.
disp vscan with frame b.

/*
ELaci
*/ :)
 

defreeman

New Member
I didn't know about the blank command either. I wrote a kludge script using the blank command and that's nice.

In this application though I think the editing block is nice as it doen't have any data stream going back to the screen buffer, ie reducing my time in tranmittence. With the blank command don't we have a blank taking the place of each character in the stream?
 

johnnebi

New Member
Hmmm... interesting ...

Try this ...

def var a as char.
update a blank.
message asc(a:screen-value) view-as alert-box.
 

defreeman

New Member
I did that and got the answer of -1
and you are right the a:screen-value did have what I typed.

This is interesting. I also tried something.


def var vscan as char format "x(15)".

update vscan blank.
display vscan.

When I did this the second display was also blank.

For kickes I tried this:


def var vscan as char format "x(15)".
def var vscan2 as char format "x(15)".

update vscan blank.
vscan2 = vscan.

display vscan2.

This time it did display what I was typing. So I then tried this to see what would happen.

def var xi as int.
def temp-table data
field vscan as char format "x(15)".
xi = 1.
do while xi <=2:
create data.
update data.vscan blank.
xi = xi + 1.
end.
for each data no-lock:
display data.vscan.
end.

and this is the result.

---------------
vscan
---------------

vscan
---------------
asdf
1234


I'm not finding the blank scan command in my lang ref book (looked under update and blank) any advice on where I can read up on this?
 
Top