• ベストアンサー

構造体配列の一部初期化!!!

はじめまして@ 今、下のような構造体があるとします。 ----------------------------------------------- Type TableColumn  sName As String  sKana As String End Type Type a_2  C(100) as TableColumn End Type Type a_1  B(3) as a_2 End Type global A(5) as a_1 ----------------------------------------------- ちなみに図で表すとこんな感じです。 A(5) |-B(3)  |-C(100)   |-sName   |-sKana このとき、この構造体の配列を初期化するときは普通でしたら、  Erase A とやることによってすべての配列の中身が初期化されると思うのですが、 今回は一部を消去したいのです。 たとえば、A(0).B(0)以下の中身は初期化しないで、A(0).B(1)以下は初期化する、といった感じです。 何か良い方法がありましたらぜひご教授お願いいたします。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

> A(0).B(0)以下の中身は初期化しないで、A(0).B(1)以下は初期化する Dim nul as a_2 for i=1 to 3 a(0).b(i)=nul next または dim bak as a_2 bak = a(0).b(0) erase a(0).b a(0).b(0)=bak でしょうか

ahiru_taichou
質問者

お礼

即日な回答ありがとうございます☆ 今回の質問事項はプログラム中何度も使用する部分でしたので、 ご意見を参考に関数化して使用させていただきます。 本当に助かりました。 ありがとうございましたm(^^)m

その他の回答 (1)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

Type TableColumn  sName As String  sKana As String End Type という事で、固定長でない文字列を含んだ文字列の初期化は、Todo兄ぃの回答しかないと思います。 固定長なら、他にもあるけど・・・

ahiru_taichou
質問者

お礼

回答ありがとうございます☆ 固定長なら他にもあるのですか?? う~ん、奥が深いですね@@@@ 今回はどうもありがとうございましたm(><)m