@yankee:
Stell mal deine Tastatur auf Japanisch, Koreanisch, Russisch, oder was auch immer, dann kommst du mit deinem
ASCII (0..255) nicht mehr sehr weit >
http://www.unicode.org/charts/ ($0000..$FFFF)
Es gibt zwar auch ScanCodes, aber die sind ja auch 2 Byte groß
> die einhundertundeinpaarzerqutschte Testen, dann gibt es jede Taste nochmal in verschiedenen Strg/Alt/Shift-Kombinationen und NumLock on/off macht auch nochmal was dazu ...
[add]
Delphi-Quellcode:
Var Tasten: Array of WideChar;
Function TasteDrin(Taste: WideChar): Boolean;
Var i: Integer;
Begin
Result := False;
For i := 0 to High(Tasten) do
If Taste = Tasten[i] Then Begin
Result := True;
Break;
End;
End;
Procedure TasteMerken(Taste: WideChar);
Begin
If not TasteDrin(Taste) Then Begin
SetLength(Tasten, Length(Tasten) + 1);
Tasten[High(Tasten)] := Taste;
End;
End;
Procedure TasteVergessen(Taste: WideChar);
Var i, i2: Integer;
Begin
For i := 0 to High(Tasten) do
If Taste = Tasten[i] Then Begin
For i2 := i to High(Tasten) - 1 do
Tasten[i] := Tasten[i + 1];
SetLength(Tasten, Length(Tasten) - 1);
Break;
End;
End;