Pedir al usuario la pulsación de una tecla
Artículo por Club Developers · 01 marzo 2006
3952 vistas
Tenemos que usar el API de Windows ReadConsoleInput, después de recuperar el handle de la cónsola.
delphi
program Project1; {$APPTYPE CONSOLE} uses SysUtils, Windows; var han: THandle; dw: DWord; buf: TInputRecord; begin han := GetStdHandle(STD_INPUT_HANDLE); Write('¿ Continuar [S/N] ?'); repeat FlushConsoleInputBuffer(han); dw := 0; ReadConsoleInput(han, buf, 1, dw); until (buf.EventType = KEY_EVENT) and (buf.Event.KeyEvent.AsciiChar in ['s','S','n','N']); WriteLn(buf.Event.KeyEvent.AsciiChar); case buf.Event.KeyEvent.AsciiChar of 's','S': WriteLn('¡¡ SI !!'); 'n','N': WriteLn('¡¡ NON !!'); end; ReadLn; end.