------------------------SDT2ReadKeys----------------------------------------------------ObjectName----------------------------------------ObjectType----------------------------------------!%()HeaderText------------------------------------!%()HeadingText----------------------------------- ReadKeys-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------6--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------()[8(!Y ;FPAR IN NumberKeys Natural, IN/OUT KeyData KeyArrayType; RETURNS ReadResultType;)]}-------------------------------------------------------------------------------------------------------------------------------------------------o()[8(! procedure ReadKeys)]}----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*()[w(!GSDL)]}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------!%()HeaderText------------------------------------!%()HeadingText-----------------------------------!%()PageOrder-------------------------------------1------------------------------------------------- !%&()LinkEndpoints----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------()[(! l! 22!(d)[h(! )[k(! 6)[n(! 6d! )]][ q(! 6r)][3(! 62! ,!S)[8(! W aitKeyStroke)][(!~~!"~~)[(! 6! d!S!)[8(! KeyStroke (Key))][(!~^~!"~~ ^)[6(! 6! ,!S)[8(! KeyData (KeyIndex) :=Key)][(!~&~X!"~X~&)[ (! 6X! ,!S)[8(! KeyIndex >=N umberKeys)][(!~~ !"~ ~)[8(! 6! false)][6(! 6 ! d!S)[8(! SET (KeyTimer))][(!~~!" ~~)[6(! 6! d!S)[8(! KeyIndex:= KeyIndex+1)][(!~~L!"~L~)[(! 6~L!Z)][3(! 6 L! d!S)[8(! Wait_ KeyStroke)]]]]]]][(! !" )[8(! 6! true)][6(! 6x ! d!S)[8(! RESET (KeyTimer))][(!!")['(! 6x! d!S)[8(! Successful)]]]]]]]]]]][(!"~~!"~)[(! 6F! d!S!)[8(! KeyTimer)][(!^!"^)['(! 6F! d!S)[8(! TimedOut)]]]]]][&w(! 6&d! d!S)[8(! )][(!!")[6z(! 6&! d!S)[8(! SET (KeyTimer))][(!^!"^)[(! 6!Z)][3}(! 6&! d!S)[8(! Wait_ KeyStroke)]]]]]][9t(! 62! !S)[8(!4!5!7)[!(! 1!!3)]}--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------P(!- DCL KeyIndex Natural:=1, Key Character;)]]]]}-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------A