![]() |
FileStream hängt unerwünschte Zeichen an
Hi,
ich habe aus dem SwissDelphiCenter diesen Code benutzt um Daten an eine EXE-Datei ranzuhängen:
Delphi-Quellcode:
Nun habe ich vor an die Test.exe dieses ranzuhängen:
function AttachToFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;
var aStream: TFileStream; iSize: Integer; begin Result := False; if not FileExists(AFileName) then Exit; try aStream := TFileStream.Create(AFileName, fmOpenWrite or fmShareDenyWrite); MemoryStream.Seek(0, soFromBeginning); // seek to end of File // ans Ende der Datei Seeken aStream.Seek(0, soFromEnd); // copy data from MemoryStream // Daten vom MemoryStream kopieren aStream.CopyFrom(MemoryStream, 0); // save Stream-Size // die Streamgröße speichern iSize := MemoryStream.Size + SizeOf(Integer); aStream.Write(iSize, SizeOf(iSize)); finally aStream.Free; end; Result := True; end; function LoadFromFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean; var aStream: TFileStream; iSize: Integer; begin Result := False; if not FileExists(AFileName) then Exit; try aStream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite); // seek to position where Stream-Size is saved // zur Position seeken wo Streamgröße gespeichert aStream.Seek(-SizeOf(Integer), soFromEnd); aStream.Read(iSize, SizeOf(iSize)); if iSize > aStream.Size then begin aStream.Free; Exit; end; // seek to position where data is saved // zur Position seeken an der die Daten abgelegt sind aStream.Seek(-iSize, soFromEnd); MemoryStream.SetSize(iSize - SizeOf(Integer)); MemoryStream.CopyFrom(aStream, iSize - SizeOf(iSize)); MemoryStream.Seek(0, soFromBeginning); finally aStream.Free; end; Result := True; end; procedure TForm1.SaveClick(Sender: TObject); var aStream: TMemoryStream; begin aStream := TMemoryStream.Create; Memo1.Lines.SaveToStream(aStream); AttachToFile('Test.exe', aStream); aStream.Free; end; procedure TForm1.LoadClick(Sender: TObject); var aStream: TMemoryStream; begin aStream := TMemoryStream.Create; LoadFromFile('Test.exe', aStream); Memo1.Lines.LoadFromStream(aStream); aStream.Free; end; Zitat:
Zitat:
Wie kann man das verhindern?? Greetz Dash |
Re: FileStream hängt unerwünschte Zeichen an
*push* :(
|
Re: FileStream hängt unerwünschte Zeichen an
Zitat:
|
Re: FileStream hängt unerwünschte Zeichen an
Die Streamgröße speichern, und? o_O
|
Re: FileStream hängt unerwünschte Zeichen an
Die Streamgröße ist das, was du nich möchtest, dass es angehangen wird (sie kommt nochmal hinter deine angehangenen Daten ;) )
Daten Streamgröße
Code:
[color=#008000]^lalalalalalalala
³Œi=JF;NH ³Y}}}v ³ß~ƒ| ³< g†‰ˆŠ†|‹Š‹sf> @ KLX[/color][color=#ff0000]J...[/color] |
Re: FileStream hängt unerwünschte Zeichen an
Achsooo Fettes THX!! :thumb:
Werde es gleich mal ausprobieren. Edit: Funzt super !! Danke Euch beiden!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz