Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
オブジェクトをシリアライズでバイナリ保存、読みこみについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10944#CommentId24112
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
たかくん
 (社会人)
投稿日時
2012/7/4 11:13:30
こんにちは、YuOさんありがとうございます。
一応コードを乗せてみます。
コメントはテキストファイルとしてやっていたのを残してるだけなので気になされないで下さい。
このメソッドは保存ですが問題は読み込みの時にどうファイルの末尾の探知をするかです。
''' <summary>
''' 棋譜データ保存
''' </summary>
''' <param name="filename">ファイル名</param>
''' <remarks></remarks>
Public Sub Save(ByVal filename As String)
If (Me.RePlayModeBoolean) Then
TestClass.OutPutSystemFlow("RePlayClass->Save()")
Dim count As SByte = 0
'Dim save As New System.IO.StreamWriter(filename, False, System.Text.Encoding.Default)
Dim save As New FileStream(filename, FileMode.Create)
Dim binalyfarmat As New BinaryFormatter
Try
For Each log As Stone(,) In Me.ReplayStoneBordList
'For Each stone As Stone In log
'save.Write(stone.LogicalPoint.X.ToString + ",")
'save.Write(stone.LogicalPoint.Y.ToString + ",")
'save.Write(stone.StoneRectangle.Width.ToString + ",")
'save.Write(stone.StoneRectangle.Height.ToString + ",")
'save.Write(stone.State.ToString + ",")
'save.Write(stone.IsReach.ToString + ",")
'save.WriteLine(stone.IsClearStone.ToString)
binalyfarmat.Serialize(save, log)
'Next
binalyfarmat.Serialize(save, Me.NowPutStoneList(count))
'save.Write(Me.NowPutStoneList(count).LogicalPoint.X.ToString + ",")
'save.Write(Me.NowPutStoneList(count).LogicalPoint.Y.ToString + ",")
'save.Write(Me.NowPutStoneList(count).StoneRectangle.Width.ToString + ",")
'save.Write(Me.NowPutStoneList(count).StoneRectangle.Height.ToString + ",")
'save.Write(Me.NowPutStoneList(count).State.ToString + ",")
'save.Write(Me.NowPutStoneList(count).IsReach.ToString + ",")
'save.WriteLine(Me.NowPutStoneList(count).IsClearStone.ToString + ",")
count += 1
Next
save.Dispose()
save.Close()
Catch ex As Exception
Me.TestClass.SystemLog("RePlayClassClass->Save()" + ex.Message)
End Try
Else
MessageBox.Show(KeyWordNotGameEnd, "五目並べ", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub