FUNCTION is_A_Z RETURNS LOGICAL (INPUT VarCh AS CHAR) :
DEF VAR tmp AS CHAR NO-UNDO.
DEF VAR cpt AS INTEGER NO-UNDO.
DO cpt = 1 TO LENGTH(VarCh) :
tmp = SUBSTRING(VarCh , cpt, 1).
IF tmp < "a" OR tmp > "z"
THEN RETURN NO.
END.
RETURN YES.
END FUNCTION.
define variable c as character no-undo format "x(2)".
form c with frame a.
on "any-printable" anywhere do:
if ( lastkey >= asc( "a" ) and lastkey <= asc( "z" ) ) or
( lastkey >= asc( "A" ) and lastkey <= asc( "Z" ) ) then
return.
else
return no-apply.
end.
enable c with frame a.
wait-for "go" of frame a.