[comp.lang.pascal] A great TSR.TPU for writing hotkey programs.

sawant@nunki.usc.edu (Abhay Sawant) (05/04/89)

I picked this off the USC bulletin board system.  I think it's one of
the best safety blankets to write TSR hotkey programs with in turbo
pascal.  Here is the deal:

1.  You write a procedure which you want to pop up when a given hotkey
is pressed.  This procedure can do *anything* : disk io, etc.  You
only need the {$F-} directive before it, switch off after it.

2.  You 'hook' this procedure to a hotkey by giving a scan code to a
procedure from this tpu.

3.  That is it!  You're in business.

4.  Best of all, it's lean and mean.  I first yawned when i saw it,
thinking it'll generate an 80k exe for a 'Hello World' program.  It
doesn't!  The Hello World program i wrote came to just about 5k of
exe.

The chaps operating the USC bulletin board do some kind of screening:
so there is a smaller chance that this'll be malicious as compared
with the next thing you see floating around.  A read.me in the packet
gives a pointer to the author: hats off to him, whoever he be.

uudecode the below to get a .arc file.  Warning: this .arc file was
created on a PC and i got a core dump when trying to unarc it on unix.
I think it'll work right if you work on the PC.

----xxxxCutHerexxxx----
begin 640 tsrtpu.arc
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
M(" @(" @(" @(" @(" @(" @4$NJ5?0R                            
M                                                            
M                                                            
M                                                            
M                                                            
=                                        
 
end

swh@hpcupt1.HP.COM (Steve Harrold) (05/05/89)

Re: Great TSR

I regret to report that the file is not unarc'able.  PC or on Unix.
Using "arc", or "pkxarc".