Dear customer: We are happy to provide you with this updated EBL version 4.01. In this edition there are not only a few bug fixes, but also several new functions based on suggestions from customers like yourself. We look forward to improving the product further to meet your needs. Complete details of all changes are shown below. DETAIL OF CHANGES TO EBL-PLUS VERSION 4.01 - KEY(" ") function within an expression returns "KEY020" which matches the INKEY function. Formerly it returned " " which was different from INKEY. - Recognition of DOS 4.x rather than just 4.0 - RANDOM( {{min, } max {,seed}} ) function has been added. The default min is 0, default max is 999, default seed is random based on time. If only one parameter is supplied, it is a max and the min will be 0. If seed is not given, seed is random (based on system time). If a seed is given, it will restart a repeatable pseudo random pattern. - Correction made to DIR(file,R) command so that it will restore properly. - TRANSLATE( string {,{to list}{,{from list}{,pad}}} ) function has been added. This function translates a string to different characters. If a character in the string is found in the input list of characters (from), then it will be translated to the corresponding character in the output list (to). If the character is not found in the input list, then no change is made. If there are more characters in {from} than {to}, it will be translated to a pad character. The default pad character is a blank. The default output list is empty (null). If only a string is supplied without any lists, then the string will be translated to upper case. For example: TRANSLATE("12/23/56","-","/") == "12-23-56" TRANSLATE("abcde","HEX","bcd") == "aHEXe" TRANSLATE("abcde","1","bcd",".") == "a1..e" - Correction made to an error inadvertantly reported when an extended BATXV variable was used in a SHELL command. - Correction made to duplicate CHDIR() function listed in help screen.