Link to home
Start Free TrialLog in
Avatar of craig_capel
craig_capel

asked on

keyboard Buffer

is it possible to do the same as Int 16h did in dos, and put chars into the buffer?

Thanks Craig C.
Avatar of craig_capel
craig_capel

ASKER

Urmmm, I actually posted that message at 12:55pm WHY!!! is it saying i posted it a 4:54am?? oh yeah i know.... Living in the GMT time zone so when all you americans get the easy answers its around 2am here.... thats not fair! :)

Craig C.
In general you can use

..xxxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

to do it
ASKER CERTIFIED SOLUTION
Avatar of inthe
inthe

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
var
 r: byte;
 ch: char;
 n: integer;
 slw: longint;
 s: string;
begin
asm
 in al,60h;
 mov r,al;
end;
s:='Hello I Was Here 19999';
   if r=$3c then
    begin
   for n:=1 to length(s) do
      begin
      keybd_event(ord(upcase(s[n])),0,0,0);
      application.processmessages;
      end;
    end;
  for slw:=1 to 1000 do
    application.processmessages;
r:=0;

I logged off for WHAT 15 mins!!!! and in that time i come up with this and you post me what i just found???????????????????

I sometimes hate you!!!!!!! :)

Craig C.
Yeah Yeah...... I asked the question regardless of if i found the info or not!
haha hi craig i only posted quick comment cause i wasnt sure that what you needed ,seems it was ;-)

nevermind its only 20 lines less :o))


see ya
 
Is there a way to clear the Keyboard Buffer?
yeh but it wont work on nt..

Disable:

Asm
    in  al,21h
    or al,00000010b
 out 21h,al
End;

Enable:

Asm
    in  al,21h
    mov al,0
 out 21h,al
End;