Zitat von
omata:
Zitat von
gammatester:
Also bei mir funktionieren "Sondertasten" nicht besonders...
Unter Turbo Pascal gab eine Sondertaste zwei Zeichen zurück. Erstmal das Zeichen #0 und dann musste nochmal gelesen werden.
Gruss
Thosten
Das ist mir schon klar. Aber Deine Routine läßt es gar nicht so weit kommen. Nimm mal folgendes Testprogramm:
Delphi-Quellcode:
uses
crt;
var
c: char;
begin
repeat
c := readkey;
write('#',ord(c));
until c=#27;
writeln;
end.
Wenn man Alt-R eingeben will, erhält man schon für Alt ein Autorrepeat mit
#0#56#0#56#0#56#0#56#0#56#0#56#0#56#0#56#0#56....
Änhlich für Ctrl:
#0#29#0#29#0#29#0#29#0#29#0#29#0#29#0#29#0#29....
Weiter werden die $E0-Prefix-Bytes mancher Tastaturen für die Cursortasten nicht gefiltert; diese $E0-Byte unterscheiden die Pfeile auf den Cursortasten von denen auf den NumkeyPad-Tasten.
Wie schon gesagt, sieh Dir doch mal ernsthaft meine Routinen an (Für alle Delphi 2+ Versionen):
http://home.netsurf.de/wolfgang.ehrh...sc_de.html#CRT
oder als Direktdownload
http://home.netsurf.de/wolfgang.ehrh...2006-11-08.zip
Gruß Gammatester