![]() |
CodeLibrary BASE64 Unit
Hallo,
habe grade die Sakura Base64 Unit aus der Code Library mal ausprobiert und bin eigentlich ganz zufrieden. Funktioniert prima mit Strings. Jedoch bekomme ich es mit String Streams nicht hin. Vielleicht hat jemand ne Idee? Hier mein Code:
Delphi-Quellcode:
procedure TVerarbeitung.Decode64;
var sp: TStringStream; begin try sp:= TstringSTREAM.Create(''); try Base64.Base64Decode(FDatenstring,Cardinal(FDatenstring.size),sp); except Application.Terminate; end; finally FDatenstring.CopyFrom(sp,sp.size); end; end; Wäre euch dankbar, wenn mir das mal jemand kurz erklären oder ggf korrigieren könnte. Danke1 Stoffel |
Re: CodeLibrary BASE64 Unit
Das geht so gar nicht, da Dein Code auf das Object vom Typ TStringStream zeigt, aber nicht auf den von den Daten belegten Speicher ;)
Nicht getestet, sollte aber gehen:
Delphi-Quellcode:
...:cat:...
procedure TVerarbeitung.Decode64;
begin FDatenstring.DataString := Base64.Base64Decode(FDatenstring.DataString); end; |
Re: CodeLibrary BASE64 Unit
Hallo,
danke für die schnelle Antwort. So gehts nicht - DataString ist ReadOnly. Es gibt die Möglichkeit dies über WriteString zu lösen. Nur: Wenn ich
Delphi-Quellcode:
mache hängt er mir den DecodedString an den DataString an.
FDatenstring.WriteString(Base64.Base64Decode(FDatenstring.DataString));
Also bräuchte ich eine Funktion, welche mir den DataSting überschreibt oder ggf. löscht. Jemand ne Idee? Gruß, Stoffel |
Re: CodeLibrary BASE64 Unit
Vorher Position auf 0 setzen.
Delphi-Quellcode:
...:cat:...
FDatenstring.Position := 0;
FDatenString.WriteString(Base64.Base64Decode(FDatenstring.DataString)); |
Re: CodeLibrary BASE64 Unit
Okay...
was aber, wenn der String der vorher drin steht länger ist als der, der reingeschrieben wird? Dann hab ich ja theoretisch noch Teile des alten Strings hinter dem neuen, oder? Stoffel |
Re: CodeLibrary BASE64 Unit
Zitat:
...:cat:... |
Re: CodeLibrary BASE64 Unit
Super, danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 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