Hi,
ich habe folgenden Source, um einen String mit der LHA5Unit zu dekomprimieren:
Delphi-Quellcode:
var
instream,
outstream: tmemorystream;
tmcontent2: array of char;
i: integer;
begin
inStream := TMemoryStream.Create;
outStream := TMemoryStream.Create;
//try
inStream.Write(TmContent[1], length(TmContent));
inStream.Position := 0;
LHAExpand(inStream, outStream);
outStream.Position := 0;
setLength(TmContent2, outStream.Size);
outStream.Read(TmContent2[0], outStream.Size);
TmContent := String(PChar(TmContent2));
setLength(TmContent2, 0);
//finally
inStream.Free;
outStream.Free;
//end;
tmcontent := copy(tmcontent, 1, length(tmcontent));
end.
War nur ein Test, deshalb ist der Source nicht so schön formatiert, sorry. Das Problem ist folgendes: Am Ende steht in TmContent zwar der dekomprimierte String, allerdings wird ein $ angehangen. Wenn ich mit Copy das letzte Zeichen entferne, wird das $ zwar entfernt, aber auch das letzte Zeichen
Florian