Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#4

Re: Doppelte Zeichen löschen

  Alt 10. Mai 2005, 16:17
Ich würde es wohl eher so machen:
Delphi-Quellcode:
function FmtTok(const S: string; const C: Char): string;
var
  ResP, SP, OrgRes: PChar;
begin
  SetLength(Result, Length(S));
  if S <> 'then
  begin
    SP := @S[1];
    ResP := @Result[1];
    OrgRes := ResP;
    while SP^ <> #0 do
    begin
      if (ResP^ <> C) or (SP^ <> C) or ((ResP^ <> C) and (SP^ = C)) then
      begin
        if ResP^ = C then
          Inc(ResP);
        ResP^ := SP^;
      end;
      if (SP^ <> C) then
        Inc(ResP);
      Inc(SP);
    end;
    SetLength(Result, StrLen(OrgRes));
  end;
end;
Ungetestet

Edit: Jetzt gehts hoffentlich.. ja, es geht
  Mit Zitat antworten Zitat