シリアライズ、クラス、オブジェクトの複数の設定の保存
昨日の
シリアライズ、クラス、オブジェクトの設定の保存 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
F:\pngを見てみるとdata.binが保存されているのでアプリを再起動する
できた!
設定を読み込んだ後に一時停止して確認したいので
38行目で変数のmyflにファイルから読み込んだものを入れているので
うーん、できたなあ
続きで今度は二つ(複数)の設定を保存して保存したものから読み込んで設定に反映できるかのテスト
この方法であっているのかは不明だけど目的は達成されたのでメモ
動作は登録ボタンでコンボボックスに項目を登録
コンボボックスの項目を選択すると設定してある色で登録ボタンの背景色を変更
設定保存ボタンで設定をシリアライズしてバイナリ形式でファイルに保存
設定読み込みボタンでファイルを読み込んでデシリアライズしてコンボボックスに項目を登録
クリアボタンはコンボボックスの項目を消去
登録→コンボボックスの項目を変更で色が変化するか確認→設定保存→
アプリ終了→アプリ実行→設定読み込み→
コンボボックスの項目に登録されているか確認→
コンボボックスの項目を変更で色が変化するか確認
二つのクラスを作った
設定を記録するクラス、名前はmyFontにした
複数の設定を一つのリストにするクラス、名前はmyFontListにした
このmyFontクラスで記録できるのはColor(色)とInteger(整数値)とString(文字列)の三種類
このクラスはプロパティを3つ作っただけなのでこれであっていると思う
myFontとか名前を付けたけどフォントと関係なくなったw
次
このmyFontListクラスはメソッド(関数?)ばかり、クラスを作成する自体慣れていなくてその中でメソッドを使うのは初めて
fListの変数に受け取った設定をどんどん追加していく
なのでこれをシリアライズして保存すれば追加されたぶんだけいくつでも設定が保存できるってことになるはず
Addメソッドで受け取った設定(myFont)をfListに追加していく
myFontとmyFontList二つ作ったのはひとつに纏める方法がわからなかったから
そもそもひとつにまとめたほうがいいのかどうなのかもわかんない
最後にいつものForm1
一個目の設定は色が赤(255,255,0,0)、数値は30、文字列は「赤文字」
二個目の設定は色が(233,145,23,123)、数値は23、文字列は「適当な色」
設定を保存する場所はF:\png\data.bin
画像だとこう
デザイン画面はこう
コンボボックス一個とボタンが4つ
実行
最初はコンボボックスには何も登録されていないのを確認
登録ボタンを押す
項目が登録された
「赤文字」項目を選択
登録ボタンの背景色が赤(255,255,0,0)になった
同様に「適当な色」に設定した色(233, 145, 23, 123)もしっかり反映されている
これで設定は正しくされているので設定保存、ここからが大事
コンボボックスの項目が空なのを確認
設定読み込みボタンを押してからコンボボックスの項目を確認
できたみたい
項目を選択
一個目の設定は色が赤(255,255,0,0)、数値は30、文字列は「赤文字」
二個目の設定は色が(233,145,23,123)、数値は23、文字列は「適当な色」
これの保存と復元ができた
数値はどうなのかローカルウィンドウで確認してみる
と思ったらローカルウィンドウではみれなかったので
ウォッチウィンドウで確認してみる
ウォッチウィンドウ開き方メモ
デバッグ→ウィンドウ→ウォッチ
ブレークポイントは42行目にして
アプリを実行して設定読み込みボタンを押す、一時停止するので
myflを右クリックしてメニューからウォッチ式の追加で
ウォッチウィンドウに追加して中身を確認してみると
しっかり2つ分の設定が入っているのが確認できた
次はPixtack紫陽花の文字の描画の設定を複数記録できるようにしたい
テスト機能の文字の描画のタブには空き場所がないから新しいウィンドウを作る?タブを増やす?新しく作るクラスは二つ?