« フラッシュカードを作る(途中経過) | トップページ | フラッシュカードを作る(経過3) »

2011年8月11日 (木)

フラッシュカードを作る(経過2)

 テキストとイメージを一緒に保存する方法が分からず、プログラムはずっと進みませんでした。せっかく買ったVB.NET2003もインストールしないまま。書籍を探してもウエブでも情報が見つかりませんでした。
 申し訳ないと思いつつサイトで質問すると翌日には返答をいただけました。

クラス
   Private Class Sample
     Public Text As String
     Public Image As Image
     Public Sub New(text As String, image As Image)
     Me.Text = text
     Me.Image = image
    End Sub
   End Class

を宣言して
   Dim data As New List(Of Sample)()

作成し、ピクチャーボックスの絵をクラスに読み取る。
   data.Add(New Sample(Label1.Text, PictureBox1.Image))
   data.Add(New Sample(Label2.Text, PictureBox2.Image))
   data.Add(New Sample(Label3.Text, PictureBox3.Image))

それをファイルに書き出すと
   Dim bf As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
   Using fs As New System.IO.FileStream("ファイル名", IO.FileMode.Create)
     bf.Serialize(fs, data)
   End Using

そのあと、クラスに読み込んでピクチャーボックスに表示する
   Dim bf As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
   Using fs As New System.IO.FileStream("ファイル名", IO.FileMode.Open)
      data = DirectCast(bf.Deserialize(fs), List(Of Sample))
   End Using

   If data.Count >= 1 Then
     Label4.Text = data(0).Text
     PictureBox4.Image = data(0).Image
   End If
   以下、PictureBox5にはdata(1)、6にはdata(2)を読み込み

これで大前進です。世の中には人材があるものだなあと感じ入りました。

|

« フラッシュカードを作る(途中経過) | トップページ | フラッシュカードを作る(経過3) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: フラッシュカードを作る(経過2):

« フラッシュカードを作る(途中経過) | トップページ | フラッシュカードを作る(経過3) »