cKEY ;Key input routine [ 02/07/96 8:36 AM ] IN(sChars,sTimeO,sCursor) New IK1,R,ZATemp Set ZATemp=$ZA Use 0:(::::65) ; No Echo ;Set FP=101 Write @F Write:'$G(sCursor) @FCH Set sChars=$G(sChars) Set sTimeO=$G(sTimeO) IK1 Set R="" If $L(sTimeO) Read *IK1:sTimeO Else Goto IK2 Else Read *IK1 Set zb="" If IK1=13 Set (zb,R)="ENTER" Else If IK1'<32 Do .Set R=$S(IK1>96&(IK1<123):$C(IK1-32),1:$C(IK1)) .If $L(sChars),sChars'[R S R="" Else Set:IK1 zb=IK1 Set (zb,R)=$$TRANS(1) Goto IK1:R="" IK2 Use 0:(:::::65) Use 0:(::::ZATemp) Write:'$G(sCursor) @FCS Quit R ; Functie vertaal list ; afhankelijk van de applicatie wordt gestoken in local sFVL FVL() Quit:sScr("TYP")'="C" "37;LN\38;LW\39;LK\40;LP\59;LI\60;LV\61;L<\62;L>" Quit:sScr("TYP")="C" "36;LN\37;LW\38;LK\39;LP\48;LI\49;LV\51;L<\52;L>" ; Cursor Vertaal list ; ligt vast voor elke applicatie, kan niet veranderd worden CVLM ;\21;INS\22;HO\23;PP\24;WIS\25;EN\26;NP\17;UP\18;DO\20;LE\19;RI\52;PRINT\48;HELP\49;COM\51;SPEC\53;SEL\54;SEL\32;ESC\46;SAVE\3;CANC\8;PRINT2 CVLT ;\21;SEL\22;INS\23;WIS\24;SEL\25;PP\26;NP\17;UP\18;DO\20;LE\19;RI\52;PRINT\48;HELP\49;COM\51;SPEC\53;HO\54;EN\32;ESC\46;SAVE\3;CANC\8;PRINT2 CVLC ;\33;SEL\22;INS\23;WIS\25;PP\26;NP\17;UP\18;DO\20;LE\19;RI\32;PRINT\41;HELP\43;COM\44;SPEC\21;HO\24;EN\32;ESC\40;SAVE\53;CANC\8;PRINT2 KVL ;\13;ENTER\9;TAB\8;DEL\127;DEL\5;EOL TRANS(All) New R Set R=$P($P("\"_$G(sFVL),"\"_($ZB\256)_U,2),"\",1) Quit:$L(R) R If $ZB<256 Set R=$P($P($T(KVL),"\"_$ZB_U,2),"\",1) Quit:$L(R) R Set R=$P($P($T(@("CVL"_sScr("TYP"))),"\"_($ZB\256)_U,2),"\",1) Quit:$L(R) R Quit:'$G(All) "" Set R=$ZB\256 If R<11 Quit "SF"_(R+11-(R>6)) If R<27 Quit "" If R<36 Quit "PF"_(R-31) If R<55 Quit "F"_(R-31-(R>49)-(R>46)-(R>41)) If R<64 Quit "SF"_(R-53) Quit ""