Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Diese Funktion schneller machen?

  Alt 9. Dez 2004, 07:51
moin jbg,

habe es nun so:

Delphi-Quellcode:
function fmtstr(const s: string; const c: char): string;
var
  i, len: integer;
  b: boolean;
begin
  if s <> 'then
  begin
    len := 0; b := false;
    setlength(result, length(s));
    result[1] := #0;
    for i := 1 to length(s) do
    begin
      if s[i] = c then
      begin
        if (result[1] = #0) or (b) then
        begin
          b := true;
          continue;
        end;
        b := true;
      end
      else b := false;
      len := len + 1;
      result[len] := s[i];
    end;
    if result[len] = c then
      setlength(result, len-1)
    else setlength(result, len);
  end;
end;
funktioniet einwandfrei, danke nochmal.

was meinst du mit "tödlich" enden? generell meine boolesche variable dort oder das ich "= true" benutzt habe?

btw: kann ich das doppelte "b := true" irgendwie zu einem machen?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat