71 tidbits Easiest way to avoid the two-second delay in 71 with HP-IL module but no devices is DISPLAY IS *. CONTROL OFF or OFF IO can also be used, but then CONTROL ON or RESTORE IO, respectively, is needed before the loop can be used. -------------------- Here is a key definition for making key definitions: DEF KEY 'f.','POKE"2F441","1"@FORI=0TO0@K$=KEY$@ I=I-(K$="")@NEXTI@POKE"2F441","0"@FETCHKEYK$': Press this key, then the key you want to define, and presto! FETCH KEY is executed. The POKEs are needed in case of ON key only. The same effect can be achieved easier with certain LEX files; e.g. with KEYWAIT$: DEF KEY 'f.','POKE"2F441","1"@K$=KEYWAIT$@ POKE"2F441","0"@FETCHKEYK$': or better yet with SCROLL (no variables needed): DEF KEY 'f.','POKE"2F441","1"@SCROLL1@ POKE"2F441","0"@FETCHKEYKEY$': -------------------- One problem with functions IP, INT (FLOOR) and CEIL is that the argument may already be rounded as an integer in the wrong direc- tion. For example, try CEIL(4E11/3): you'll probably get 133333333333, while the correct result is 133333333334. Correct result in all cases can be ensured by appropriate OPTION ROUND setting: ZERO for IP, NEG for INT and POS for CEIL. OPTION ROUND NEAR should be restored immediately afterwards, lest future cal- culations go astray. -------------------- Easiest way to print a full row of dashes is PRINT USING '80"-"' This technique can be used with any repetitive pattern; instead of 100 FOR I=1 TO 20 @ PRINT X$; @ NEXT I @ PRINT use 100 PRINT USING '20"'&X$&'"' (assuming there are no double quotes in X$). Tapani Tarvainen [337] Kiljanderinkatu 2 A 7 SF-40600 JyvÌskylÌ Finland