N
Nastarowje
Bekanntes Mitglied
Hallo,
anbei die Lösung, wie ich alle möglichen Komponenteninhalte in einen Stream speichern kann. Eine Größenangabe der einzelnen Werte ist nicht notwendig.
Mit dieser Lösung konnte ich alle Problem des vorherigen Threads lösen.
Und hier ist sie - SUPER einfach und genial
Wer noch fragen hat, kann sie gerne stellen. Am besten ist aber, das alles mal selbst auszuprobieren.
Viel Spass damit
Michael - alias Nastarowje
anbei die Lösung, wie ich alle möglichen Komponenteninhalte in einen Stream speichern kann. Eine Größenangabe der einzelnen Werte ist nicht notwendig.
Mit dieser Lösung konnte ich alle Problem des vorherigen Threads lösen.
Und hier ist sie - SUPER einfach und genial
Code:
[B][COLOR=#0000af]procedure[/COLOR][/B] TForm1.ButtonSpeichernClick(Sender: TObject);
[COLOR=#0000af][B]Var[/B][/COLOR] Stream:TFilestream;
[COLOR=#0000af][B]begin[/B][/COLOR]
Stream:=TFileStream.Create('[COLOR=#000080]D:\TestStream[/COLOR]',fmcreate);
[COLOR=#0000af][B]try[/B][/COLOR]
[COLOR=#008000]//TWriter objekt erstellen und Daten in den Stream speichern [/COLOR]
[COLOR=#0000af][B]with[/B][/COLOR] TWriter.create(Stream,1024) [COLOR=#0000af][B]do[/B][/COLOR]
[COLOR=#0000af][B]try[/B][/COLOR]
WriteString(Memo1.Text);
WriteString(Edit1.Text);
WriteInteger(SpinEdit1.Value);
WriteBoolean(CheckBox1.Checked);
[COLOR=#0000af][B]finally[/B][/COLOR]
free;
[COLOR=#0000af][B]end[/B][/COLOR];
[COLOR=#0000af][B]finally[/B][/COLOR]
Stream.free;
[COLOR=#0000af][B]end[/B][/COLOR];
[COLOR=#0000af][B]end[/B][/COLOR];
[COLOR=#0000af][B]procedure[/B][/COLOR] TForm1.ButtonLadenClick(Sender: TObject);
[COLOR=#0000af][B]Var[/B][/COLOR] Stream:TFilestream;
[COLOR=#0000af][B]begin[/B][/COLOR]
Stream:=TFileStream.Create('[COLOR=#000080]D:\TestStream[/COLOR]',fmOpenRead [COLOR=#0000af][B]or[/B][/COLOR] fmShareDenyNone);
[COLOR=#0000af][B]try[/B][/COLOR]
[COLOR=#008000]//TReader objekt erstellen und Daten aus den Stream laden [/COLOR]
[COLOR=#0000af][B]with[/B][/COLOR] TReader.create(Stream,1024) [COLOR=#0000af][B]do[/B][/COLOR]
[COLOR=#0000af][B]try[/B][/COLOR]
Memo1.Text :[COLOR=#0000af]=[/COLOR] ReadString;
Edit1.Text :[COLOR=#0000af]=[/COLOR] ReadString;
SpinEdit1.Value :[COLOR=#0000af]=[/COLOR] ReadInteger;
CheckBox1.Checked :[COLOR=#0000af]=[/COLOR] ReadBoolean;
[COLOR=#0000af][B]finally[/B][/COLOR]
free;
[COLOR=#0000af][B]end[/B][/COLOR];
[COLOR=#0000af][B]finally[/B][/COLOR]
Stream.free;
[COLOR=#0000af][B]end[/B][/COLOR];
[COLOR=#0000af][B]end[/B][/COLOR];
Wer noch fragen hat, kann sie gerne stellen. Am besten ist aber, das alles mal selbst auszuprobieren.
Viel Spass damit
Michael - alias Nastarowje