掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
memorystreamを文字列として変数等に入れたい (ID:152063)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
WriteComponentで書き込まれる要素は publishedで一般的な型として定義されている要素です。 「StringGridに文字列や画像が入っていてそれを直接保存読込したい」 というのは気持ちはわかりますがおすすめしません。 データとGUIがありGUIだけでしようとすると無理が来ます 今のところは 読込 ファイルのデータを読込→SringGridの表示に必要なデータを要素に持ったクラス→SringGridを表示する 書き込み StringGirdの編集イベントまたは保存のタイミング→編集されたデータを内部のクラスの要素に反映→ファイルに保存 こうなります。 さっき折角説明したやり方がまったく使えないかというとそうではありません TOrign = class(TComponent) private FBmp : TBitmap; // このビットマップをBase64の文字列で保存復元したい published BaseStr : string read GetBaseStr write SetBaseStr; // こうやって要素は文字列ですよと定義する function TOrign.GetBaseStr(); begin result := BmpToBase64Str(FBmp); // ビットマップをBase64化した文字列で返す関数を作る end; procedure TOrign.SetBaseStr(Value : string); begin Base64StrToBmp(FBmp,Value); // Base64の文字列をビットマップに復元する関数を作る end; これでTOrignをさっきのシリアライズ化で保存復元すればiniやresのBase64文字列からビットマップも保存復元できるのです ただしStringGrid直接では無く、その保存復元に必要な要素を持ったクラスに対して行い、StringGirdとDataの関係を自分で作る必要があります
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.