Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Zeichen ist Steuerzeichen

  Alt 7. Aug 2006, 14:35
Ü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
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat