Überprüfen ob ein Zeichen ein Steuerzeichen ist
Manchmal möchte man überprüfen, ob das Zeichen, das ein User eingegeben hat auch kein Streuerzeichen (Tab, Nach Rechts usw...) ist und vielleicht die gesammte Formatierung durcheinander bringt.
Realisiert wird dies durch folgende einfache Überlegung:
Die meisten Sonderzeichen haben einen
ASCii Code kleiner 32. Außerdem liegen zwischen dem Zeichen 127 und 159 noch eine ganze Menge Sonderzeichen. (Siehe Wikipedia:
http://de.wikipedia.org/wiki/Steuerzeichen).
Daraus Resultiert folgende, einfache Funktion:
Delphi-Quellcode:
function IsNotSpecialCharacter(AChar:char):boolean;
begin
result := (AChar > #31) and ((AChar < #127) or (AChar > #159));
end;
Wer will kann auch folgendes verwenden:
Delphi-Quellcode:
function IsNotSpecialCharacter(AChar:char):boolean;
begin
result := AChar in [#32..#126];
end;
Mit diesem Code kann man erreichen, dass nur "normale" Zeichen, die auf einer Englischen/Amerikanischen Tastatur vorkommen akzeptiert werden.
Wer nur nach Buchstaben prüfen will kann auch folgendes verwenden:
Delphi-Quellcode:
function IsLetter(AChar:char):boolean;
begin
result := AChar in ['A'..'Z','a'..'z'];
end;
Natürlich kann man diese Funktion noch einfach um Zahlen etc. erweitern.
Die erste Version ist meiner Meinung nach am Besten.
Viel Spaß,
Igel457
Suchbegriffe:
Sonderzeichen, Steuerzeichen, Char, Prüfen Char, Char, Buchstabe, Umlaute, Umlaut, Buchstaben, String