$Screen Remarks 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 Note- by declaring this a SCREEN I can add comments to the top of this subroutine. That is the only purpose of this "Screen" 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 My apologies to whomever wrote this up in the Microrim exchange sometime in the middle of 1990 (or was it 1989?). They deserve the credit; --> What I've discovered is that these routines will compile very well. --> These may also be used as a CUSTOM in applications express! 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 HELPSET initializes the [f1] key as an additional HELP key. The [f10] is inaffected, and will ALSO work as the HELP key for users with that keystroke memorized. HELPEND tidies up when you exit your routine. 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 There are 3 additional routines: Arrows - redefines up- and down-arrow keys ArrowESC - redefines up- and down-arrow keys AND the Enter key EndArrow - returns all keys to their origional use 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 Sample use with a TIERed form: Run Arrows in vANSI.SUB EDIT using (formname) Run EndArrow in vANSI.SUB 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 DYNAMIC MENUING Sample use with a TIERed form used like a menu: Run ArrowESC in vANSI.SUB EDIT using (formname) Run EndArrow in vANSI.SUB I call this technique "Dynamic Menuing", and is marvelous! It replaces this technique: "out filespec" "sel column from table" "out screen" "Choose var from filespec" and overcomes the built-in size limitations with the choose command. 컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴 $Command HelpSet *(旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴�) *(� This reassigns HELP in RBase 2.11 - THIS WILL COMPILE! �) *(� Change [f1] key to work like [f10]. �) *(� 0;59 = [F1] 0;68 = [f10] �) *(읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴�) Output CON Set Variable vANSI TEXT Set Variable vANSI to (CHAR(27)+ "[0;59;0;68p") Show Variable vANSI at 8 5 Clear vANSI Output Screen RETURN $Command HelpEnd *(旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴�) *(� Return REDFINED keys back to their origional function. �) *(� Uhhh.. "Zero out [HELP] key." �) *(읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴�) Output CON Set Variable vANSI TEXT Set Variable vANSI to (CHAR(27)+ "[0;59;0;59p") Show Variable vANSI at 8 5 Clear vANSI Output Screen Return $Command Arrows *(�袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴敲) *(� Change the Arrow keys to work like [F8] and [F7]. �) *(� The ENTER key is unaffected. �) *(� These will be used in a form with tiers. �) *(훤袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴�) *(�袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴敲) *(� 0;72 = Up Arrow 0;65 = [f7] �) *(� 0;80 = Down Arrow 0;66 = [f8] �) *(� To reassign keys, use this format: (oldkey);(newkey);p �) *(훤袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴�) Output con Set Variable vANSI TEXT Set Variable vANSI to (CHAR(27)+ "[0;72;0;65p") Show Variable vANSI at 8 5 Set Variable vANSI to (CHAR(27)+ "[0;80;0;66p") Show Variable vANSI at 8 5 Clear vANSI Output Screen Return $Command ArrowEsc *(�袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴敲) *(� Change the Arrow keys to work like [F8] and [F7]. �) *(� The ENTER key is redefined to be the [ESC] key. �) *(� These will be used in a form with tiers. �) *(훤袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴�) *(�袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴敲) *(� 0;72 = Up Arrow 0;65 = [f7] �) *(� 0;80 = Down Arrow 0;66 = [f8] �) *(� 27 = [Esc] 13 = [Return] �) *(� To reassign keys, use this format: (oldkey);(newkey);p �) *(훤袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴�) Output con Set Variable vANSI TEXT Set Variable vANSI to (CHAR(27)+ "[0;72;0;65p") Show Variable vANSI at 8 5 Set Variable vANSI to (CHAR(27)+ "[0;80;0;66p") Show Variable vANSI at 8 5 Set Variable vANSI to (CHAR(27)+ "[13;27p") Show Variable vANSI at 8 5 Clear vANSI Output Screen Return $Command EndArrow *(�袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴敲) *(� Return REDFINED keys back to their origional function. �) *(� Uhhh.. "Zero out arrow keys" �) *(훤袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴袴�) Output con Set Variable vANSI TEXT Set Variable vANSI to (CHAR(27)+ "[0;72;0;72p") Show Variable vANSI at 8 5 Set Variable vANSI to (CHAR(27)+ "[0;80;0;80p") Show Variable vANSI at 8 5 Set Variable vANSI to (CHAR(27)+ "[13;13p") Show Variable vANSI at 8 5 Clear vANSI Output Screen CLS Return