Thema: Delphi pack-Funktion optimieren

Einzelnen Beitrag anzeigen

luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#1

pack-Funktion optimieren

  Alt 4. Feb 2012, 14:17
Delphi-Version: 2007
Hallo!

Ich habe folgende Funktion um eine große Zahl mit Hilfe der Ascii-Tabelle "einzupacken" und somit zu komprimieren.
Delphi-Quellcode:
const base=255;
var chtab:array[0..base-1] of char;

procedure initchtab;
var i,j:byte;
begin
  j:=0;
  for i := 0 to 255 do
    if i<>10 then
    begin
      chtab[j]:=chr(i);
      inc(j);
    end;
end;

function cvbase(n:int64): string;
begin
  Result := '';
  while n > 0 do
  begin
    Result := chtab[n mod base] + Result;
    n := n div base;
  end;
end;
Also wir Ihr seht sollen zum "einpacken" alle Zeichen außer das Zeilenumbruchzeichen (#10 = LF) benutzt werden.
Die Funktion initchtab, zum Initialisieren der Zeichentabelle, wird nur einmal beim Start aufgerufen.
Die Funktion cvbase dagegen wird sehr oft aufgerufen und deshalb wollte ich mal fragen, ob jemand eine Möglichkeit sieht wie ich diese Funktion noch optimieren/beschleunigen könnte?
  Mit Zitat antworten Zitat