Hi, Firstly, thanks to everyone on the list for getting me this far.
I'm looking for a bit of advice. I've got a script running which presents VT220 Clients (handheld devices with barcode readers, 802.11 radios, 12x20 LCD Display running DOS, an IP Stack and a VT220 Client) with menus allowing them to do a stocktake by scanning items barcodes and entering the number of items. We service a lot of electronic equipment, the plan is to use this to speed up stocktakes in our 'spare parts' stores. The menuing system is very messy - I'm just doing a print $remote "blah\r\nblah"; Also, I'm waiting for a CR before reading the user input, so for a menu saying for example 'F3 - Exit' - a user has to type 'F3' followed by the 'ENTER' key. I've taken a look at the curses module and it looks like it would do what I need to do but unfortunately I've got to stick to a Win32 platform as the script will generally be run on PC's running Win98/2K/XP. Any suggestions on a better way to do what I'm doing (or any other programmatic faux pas) are very welcome. sub writeDisplay { my ($itemNo, $desc, $modDate, $number, $inputRequest) = @_; print $remote("\e[2J"); #Clear the Display print $remote ("\e[0;0H"); #Return Cursor Position to Line 0 Col 0 print $remote( " LXE STOCKTAKE\r\n", "ITEM: ", "$itemNo\r\n", "DESC: ", "$desc\r\n", "DATE: ", "$modDate\r\n", "STCK: ", "$number\r\n", "\r\n", "Enter $inputRequest\r\n"); print $remote ("\e[9;1H"); #Set Cursor Position to Line 8 Col 1 print $remote (" (F3) EXIT"); #print $remote ("\e[2K"); print $remote ("\e[8;0H"); #Return Cursor Position to Line 7 Col 0 } sub readInput { if ($debug == 1) {print("DEBUG-readInput\r\n");} my $numOrAlpha = shift; my $userInput = undef; if ($numOrAlpha eq "num") { while (($userInput =~ m/\D/) || (! length($userInput))) #Expecting Numeric Input from User { $userInput = <$remote>; chomp($userInput); if (($userInput =~ m/\D/) || (! length($userInput))) {onError("invalid number");} } } } else { while (! length($userInput)) #Expecting Alphanumeric Input from User { $userInput = <$remote>; chomp($userInput); if (! length($userInput)) {onError("Enter Part No.");} } } $input = $userInput; return($input); } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]