掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Variant変数のデータをTMemoryStreamに格納したいのですがこれだとやりすぎでしょうか (ID:150173)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
RTTIを使って こんな感じのはどうでしょうか? フォームにボタン1つとメモ帳を貼ってクラス定義とボタンクリックイベントにプログラムを追加 type TTestComp = class(TComponent) private { Private 宣言 } FVValiant: Variant; published property VValiant : Variant read FVValiant write FVValiant; end; function TForm1.BinToTextOut(m: TMemoryStream): string; var StrStream: TStringStream; s: string; begin StrStream := TStringStream.Create(s); try m.Seek(0, soFromBeginning); ObjectBinaryToText(m, StrStream); StrStream.Seek(0, soFromBeginning); Result:= StrStream.DataString; finally StrStream.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var FTestComp : TTestComp; ms: TMemoryStream; begin FTestComp := TTestComp.Create(Self); FTestComp.VValiant := 1.1; ms := TMemoryStream.Create; try ms.WriteComponent(FTestComp); ms.SaveToFile('test.bin'); Memo1.Lines.Text := BinToTextOut(ms); // メモ帳に保存結果を出力 finally ms.Free; end; ms := TMemoryStream.Create; try ms.LoadFromFile('test.bin'); ms.ReadComponent(FTestComp); finally ms.Free; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.