Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Unerwünschte Zeichen ?

  Alt 28. Sep 2010, 15:55
Möchtest du vielleicht alle Zeichen eliminieren, die nicht erlaubt sind?

Delphi-Quellcode:
// entfernt alle Zeichen aus <S>, die nicht in <Chars> sind
function StrKeepChars(const S: string; const Chars: TSysCharSet): string; // aus der JCL
var
  Source, Dest: PChar;
  Len, Index: Integer;
begin
  Len := Length(S);
  SetLength(Result, Len);
  UniqueString(Result);
  Source := PChar(S);
  Dest := PChar(Result);
  for Index := 0 to Len-1 do
  begin
    if Source^ in Chars then
    begin
      Dest^ := Source^;
      Inc(Dest,SizeOf(Char));
    end;
    Inc(Source,SizeOf(Char));
  end;
  SetLength(Result, (Longint(Dest) - Longint(PChar(Result))) div SizeOf(Char));
end;

clean_string := StrKeepChars(bad_string, ['0'..'9', 'A'-'Z', 'a'-'z', '!', '"']);
Andreas
  Mit Zitat antworten Zitat