Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: String ressourcenschonend de/komprmieren

  Alt 22. Mai 2005, 20:55
Abgesehen von ein paar überflüssigen Statements funktioniert der Code, aber statistische Komprimierung verkehrt sich bei zu kleinen Datenmengen leicht ins Gegenteil. Ich nehme an, dass du keine konkrete Anwendung im Sinn hast und mehr die Funktionalität der Library ausloten willst.

Delphi-Quellcode:
function CompressString(input: string): string;
var
  OutBuf: Pointer;
  OutBytes: Integer;
begin
  try
    CompressBuf(@Input[1], Length(input), OutBuf, OutBytes);
    SetLength(result, OutBytes);
    Move(OutBuf^, result[1], OutBytes);
  finally
    if OutBuf <> nil then FreeMem(OutBuf);
  end;
end;

function DeCompressString(input: string): string;
var
  OutBuf: Pointer;
  OutBytes: Integer;
begin
  try
    DeCompressBuf(@Input[1], Length(input), 0, OutBuf, OutBytes);
    SetLength(result, OutBytes);
    Move(OutBuf^, result[1], OutBytes);
  finally
    if OutBuf <> nil then FreeMem(OutBuf);
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat