{ ³- Also, is there anyway of making "HOT-KEYS" without using ReadKey f³ ³ CharS? I want it For Integers or can I have CharS as a RANdoM #? ³ ³ PROBLEMO! ³ > Unless you want to Write an ISR (initiate and stay resident) routine ³ > that traps keyboard interrupts and either preprocesses them or passes ³ > them on to your routine, ReadKey is the only way. (Writing an ISR ³ > is not a simple task.) ³ Actualy it is not that difficult in pascal: } Uses Dos; Const end_eks : Boolean = False; Var IntVec : Pointer; Procedure Keybd; Interrupt; Var Key : Byte; begin Asm cli end; Key := Port[$60]; Case Key of 1 : end_eks := True; 57 : Writeln(' You have pressed Space'); 75 : Writeln(' Left Arrow'); 77 : Writeln(' Right Arrow'); 203, 205 : Writeln(' You have released an Arrow key'); end; if not end_eks then Asm mov ah,0ch int 21h call IntVec { Call original int 9 handler } end; { port[$20]:=$20} { if you dont call the original handler you need to uncomment this } end; begin GetIntVec($09,Intvec); SetIntVec($09,@Keybd); Writeln(' Press to end Program '); Repeat Until end_eks; SetIntVec($09,IntVec); Writeln(' Program terminatet'); end.