Wenn du in einen leeren Stream zb. 1024 Bytes geschrieben hast, wo steht dann der Stream.Position ? Bei 1024 richtig.
Wenn du nun anschließend aus dem Stream was lesen möchtest un Stream.Position = Stream.Size wieviele Bytes kann man dann noch aus dem Stream lesen ? Ah, garkeine da man ja am Ende des Streams ist, richtig.
Delphi-Quellcode:
SourceStr.WriteComponente(blabla)
if SoureStr.Position = SourecStr.Size then
ShowMessage('Ähm, wenn du nachher mit SourceStr.Read() was lesen möchtest dann solltest du auch SourceStr.Positon := 0 aufrufen');
Also Stream.Position :=0; bevoir du versucht wieder aus dem Stream zu lesen.
einen Stream verschlüsseln auf einfachste Weise
Delphi-Quellcode:
with TCipher_Rijndael.Create do // Cipher erzeugen
try
Init('Passwort'); // mit Passwort initialisieren
EncodeStream(SourceStream, DestStream, -1); // Stream verschlüssen
finally
Free; // Cipher freigeben
end;
Beachte das obiges Beispiel die Minimalkonfiguration darstellt, man kann es aus Sicht der Kryptographie noch besser=sicherer machen.
Gruß Hagen
PS: gewöhne dir an deutsch zu schreiben, ich weiß es ist schwer auf modischen Schnickschnack zu verzichten besonders wenn man bischen extrovertiert erscheinen möchte und sein "Image" aufbauen möchte. Aber ansonsten antworte ich einfach nicht mehr