576XE Posted April 29, 2017 Share Posted April 29, 2017 Hi there, pirx! Here some short lirary and some code to explain FORWARD PROCEDUREs... !====================================! ! KEYS.LIB ! PL65 Keys operations. !------------------------------------! CONST UPA=142,DNA=143,LTA=134,RTA=135 CONST ESC=28,SPC=33,TAB=44,RET=12 CONST none=255 BYTE CH=764 !------------------------------------! PROC AnyKey() BEGIN WHILE CH=none DO ENDWHILE CH=none END !------------------------------------! FUNC InKey() BYTE k BEGIN WHILE CH=none DO ENDWHILE k=CH CH=none END k !------------------------------------! ! Only Declarations for clear compiling! ! Definitions must be in MAIN() as BODY. PROC EscF() FORWARD PROC UpaF() FORWARD PROC DnaF() FORWARD PROC LtaF() FORWARD PROC RtaF() FORWARD PROC SpcF() FORWARD PROC TabF() FORWARD PROC RetF() FORWARD PROC DefF() FORWARD !------------------------------------! PROC ParsKey(BYTE Key) BEGIN CASE Key OF ESC DO EscF() ENDOF OF UPA DO UpaF() ENDOF OF DNA DO DnaF() ENDOF OF LTA DO LtaF() ENDOF OF RTA DO RtaF() ENDOF OF SPC DO SpcF() ENDOF OF TAB DO TabF() ENDOF OF RET DO RetF() ENDOF ELSE DefF() ENDCASE END !------------------------------------! ENDFILE ! Keyboard Parser INCLUDE TERMINAL.LIB INCLUDE KEYS.LIB PROC POS(INT COL=$55 BYTE ROW=$54) BEGIN END ! Gets data from stack !------------------------------------! PROC CLR() BEGIN PUT(0,125) END !------------------------------------! BODY EscF BEGIN POS(18,10) WRTSTR("ESC") END BODY UpaF BEGIN POS(18,10) WRTSTR("UPA") END BODY DnaF BEGIN POS(18,10) WRTSTR("DNA") END BODY LtaF BEGIN POS(18,10) WRTSTR("LTA") END BODY RtaF BEGIN POS(18,10) WRTSTR("RTA") END BODY SpcF BEGIN POS(18,10) WRTSTR("SPC") END BODY TabF BEGIN POS(18,10) WRTSTR("TAB") END BODY RetF BEGIN POS(18,10) WRTSTR("RET") END BODY DefF BEGIN POS(18,10) WRTSTR("BAD") END !------------------------------------! MAIN() BYTE k BEGIN CLR() WRTLN("Keys Parsing Sample") WRTLN("Waiting a KEY...") CR() REPEAT k=InKey() ParsKey(k) UNTIL k=ESC END All working... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.