Thema: Delphi Stringfilter

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

Re: Stringfilter

  Alt 28. Jun 2009, 11:19
ich frag mich sowieso wieso ein Set of WideChar nicht geht ... wären doch nur 8 KB, aber da eh nicht alle Unicode nutzen und man ja nicht unbedingt alles auf Unicode umbrechen muß ...

so wäre es dann unicodetauglich und es würden alle Zeichen entfernt, welche in BadChars dinn sind und nicht in ANSI reinpassen, egal welche Codierung ANSI hatt
Delphi-Quellcode:
procedure FilterText(var Text: String; const BadChars: TSysCharSet);
var
  i: Integer;
begin
  for i := Length(Text) downto 1 do
    if (Text[i] in BadChars) or not (Text[i] in [#$0000..#$00FF]) then
      Delete(Text, i, 1);
end;

// bzw.

procedure FilterText(var Text: String; const BadChars: TSysCharSet);
var
  i: Integer;
begin
  for i := Length(Text) downto 1 do
    if (Text[i] in BadChars) or (Text[i] > #$00FF) then
      Delete(Text, i, 1);
end;
eigentlich müßte Ersteres eher stimmen, aber es scheint mit Letzterem übereinzustimmen ... schon eigenartig

[add]
so sollte es dann keine Wiedersprüche geben
Delphi-Quellcode:
procedure FilterText(var Text: String; BadChars: TSysCharSet);
var
  i: Integer;
begin
  BadChars := [#$0000..#$00FF] - BadChars;
  for i := Length(Text) downto 1 do
    if not (Text[i] in BadChars) then
      Delete(Text, i, 1);
end;
$2B or not $2B
  Mit Zitat antworten Zitat