Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

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

Diese Funktion schneller machen?

  Alt 8. Dez 2004, 23:39
ok, diese funktion ist nur ein beispiel, aber viele meiner andere laufen genauso ab...

Delphi-Quellcode:
function fmtstr(const s: string; const c: char): string;
var
  i: integer;
  b: boolean;
begin
  result := ''; b := false;
  for i := 1 to length(s) do
  begin
    if s[i] = c then
    begin
      if (result = '') or (b = true) then
        continue;
      b := true;
    end
    else b := false;
    result := result + s[i];
  end;
  if (result <> '') and (result[length(result)] = c) then
    setstring(result, pchar(result), length(result)-1);
end;
ziel dieser funktion ist es einen string "ordentlich" zu machen, anhand des seperators.... also wenn ich z.b so einen string übergebe:

Zitat:
..hi.bla.....blubb....
wird die funktion:

Zitat:
hi.bla.blubb
zurückgeben.

wenn ich diese funktion 1million mal in einer schleife aufrufe dauert das ganze ca 1,094 sekunden....

gibt es irgendwie eine schnellere methode für diese funktion? es sollten keine funktionen aus der VCL verwendet werden.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat