Was mir grad einfällt ist, dass du beim case auch Wertbereiche angeben kannst.
Beispiel:
Delphi-Quellcode:
case key of
'A'..'Z','a'..'z': showmessage('buchstabe');
'0'..'9','.': showmessage('zahl');
#13,#20: showmessage('whitespace');
end;
Das solltest du vllt. auch noch erwähnen, weil es unter Umständen sehr praktisch sein kann.