0

プログラムにあるオブジェクト (このオブジェクトはデータを保存します) をハード ドライブに保存して、次にプログラムを起動したときにそれをロードできるようにする必要があります。

シリアライゼーションと xml ファイル出力を使用してみましたが、データが「文字列」オブジェクト タイプではないため、うまくいかないようです。

ファイルのオープン/プット/取得を使用することを検討しましたが、シリアル化よりもはるかに非効率であるため、MSDN はこれを推奨していません。

私の目標を達成する単純なロード/保存機能はありますか?

前もって感謝します マーティン

4

1 に答える 1

3

シリアル化する前に、オブジェクトをバイナリ データに変換する必要があることがわかりました。

他の人のために、ここに私の機能があります

'Imports
Imports System.IO
Imports System.Text
Imports System.Collections
Imports System.Runtime.Serialization.Formatters.Binary
Imports System.Runtime.Serialization

'Functions
Public Function Load()
    If My.Computer.FileSystem.FileExists(mstrSaveFile) Then
        Dim fs As Stream = New FileStream(mstrSaveFile, FileMode.Open)
        Dim bf As BinaryFormatter = New BinaryFormatter()
        mstrData = CType(bf.Deserialize(fs), CType(mstrData))
        fs.Close()
    End If
    Return True
End Function

Public Function Save()
    If My.Computer.FileSystem.FileExists(mstrSaveFile) = True Then
        My.Computer.FileSystem.DeleteFile(mstrSaveFile)
    End If
    Dim fs As Stream = New FileStream(mstrSaveFile, FileMode.Create)
    Dim bf As BinaryFormatter = New BinaryFormatter()
    bf.Serialize(fs, mstrData)
    fs.Close()
    Return True
End Function
于 2012-08-18T17:31:58.923 に答える