お久しぶりです。というよりも前回の質問のベストアンサーの返しが遅くなってしまい
申し訳ありませんでした。。
家のパソコンでなかなか返信する余裕がなく、大変失礼しました。。。
今後はこのようなことがないように気をつけます
それで、前回構造体の使い方等についてを教えていただき、なんとか使えるようにはなれたのですが、そこで新しく
疑問が生まれ、今回 その疑問が自分の中だけではどうしても解決できずに質問させていただいた所存です
自分が現在 頭を抱えている問題なのですが、構造体の使い方について、、なのですが、
自分は普段 どこかにtxtファイルなりCsvファイルなりを置き、それらをクラスを使って参照するという使い方をしています
※パスはモジュールにてPublicで宣言して使っています。
そして、構造体のお話になるのですが、構造体は値をコピーして使う クラスは参照して使うという自分の認識なのですが
元の参照する値がない つまり動的に値が変動する場合はクラスではなく構造体を使うべきなのかなと思い、
構造体を使ってみたのですが、いざ使ってみるとわざわざ構造体にする必要があるのかな?という疑問が生まれました
この説明だけだと説明不足なので 下記にてやりたいことをまとめます
■内容
1. 一つのフォームを用意し その中にラベルを二つ用意します
それらのラベルのタイトルを LabelTitle.text
LabelSubTitle.text とします
2.このフォームをそれなりの頻度で使っていきたいのですが、使う場所によって
LabelTitle.textとLabelSubTitle.textの内容を変えたいのです
つまり ■メイン画面では LabelTitle.text = "メイン画面"
LabelSubTitle.text ="メイン画面です"
■結果画面では LabelTitle.text = "結果画面"
LabelSubTitle.text ="結果画面です"
こういった感じに同じフォームでもラベルの内容だけをその都度変えていきたいのです
一つや二つでしたらその都度 値を入れていけばいいのですが、10~20と増えていくと
それも大変になっていきます
そこで構造体を使おうと思い
'構造体の宣言
■モジュール内に
Public Structure Messge
Dim Title As String
Dim SubTitle as string
End Structure
というものを作成し
実際使う場所に
Dim Message As Message
'値の代入
Message.Title = "メイン"
Message.SubTitle = "メイン画面です"
LabelTitle.text = Message.Title LabelSubTitle.text = Message.SubTitle
自分の勉強不足で自分は上記のような使い方しかまだ分からないのですが
上記のように構造体を使用した場合にどうして構造体を挟む必要があるのか
参照しているのでしたらまだ話は変わるのですが
使うたびにローカルに構造体を呼び出し
構造体の中で宣言した変数にを代入し
そして構造体にて宣言された変数をラベルに入れる
直接入れたほうが楽なんじゃないか?と感じました
値が変えるのが楽という風な指摘を先輩に受けたのですが、
それはローカルで宣言した場合も変わらないのでは?と思いました
構造体に変数を入れてその変数をラベルに入れるか
ラベルに直接 値を入れるか
上記2点では下のほうが簡潔な気がするのですが
皆さんはどのように構造体を使用するのか
また、どういう使い方をするのが正しいのか
これらを本で調べても 構造体は値をコピーしてくるからーという説明がほとんどで
使い方がいまいち理解できていない自分です。
構造体の利点は初期化が早い、、?ぐらいの利点しかまだ見えていません。。
どうか構造体の利点や本当の使い方等を教えてください。。。
それと、クラスについても変わりません
値を参照するという使い方しかまだできず、他にももっと色んな使い方ができるのではないかと思っているのですが
クラスについてもまだ勉強不足でファイルから値を呼び出すためだけのもの
そんな理解しかありません
もしよろしければクラスについても 色んな使い方を教えていただけると助かります
長文となってしまい申し訳ない 上記の内容で分かりにくい 説明が抜けているところがあれば追記していきます
どうか宜しくお願いします

回答2件
あなたの回答
tips
プレビュー