Thema: Delphi If Anweisung... Block?

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: If Anweisung... Block?

  Alt 12. Dez 2006, 15:55
Hallo MJ,

wir missverstehen uns. Ich wollte dir nur den Namen der Funktion aus DOS-Zeiten in Erinnerung rufen. Unter Win32 musst du für solche Dinge ReadConsoleInput() benutzen.

Freundliche Grüße

PS: Falls es gebraucht wird...

Delphi-Quellcode:
var
  hStdIn: THandle;

function ReadKey: Char;
var
  ir: TInputRecord;
  evtCount: Cardinal;
begin
  Result := #0;
  repeat
    ReadConsoleInput(hStdIn, ir, 1, evtCount);
    if (evtCount = 1)
    and (ir.EventType = 1)
    and (ir.Event.KeyEvent.bKeyDown)
    and (ir.Event.KeyEvent.AsciiChar <> #0) then
      Result := ir.Event.KeyEvent.AsciiChar;
  until Result <> #0;
end;

var
  c: Char;

begin
  hSTDIN := GetStdHandle(STD_INPUT_HANDLE);
  repeat
    c := ReadKey;
    Write(c);
  until c = #27;
end;
  Mit Zitat antworten Zitat