Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Array of Char --> String: Zusätzliches $ wird angehangen

  Alt 1. Jan 2007, 21:29
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
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat