|
|||||
環境設定ファイル(VB6のiniファイル相当)の読込/保存するサンプル(VB.NET)です。VB.NETでは通常XML ファイルで実現するようです。環境設定ファイルが無いプログラムはあまり無いと思うので、プログラム を作る最初の作業としてこの処理をコピペするようにすると思います。このサンプルで保存するファイル はXML形式でシリアライズと言う方法を使用しています。 このサンプルは標準モジュールで作成しているのでクラスにした方が良いと思います。 このモジュールはPublic宣言している事に注意してください。 C#.NET版はこちら「環境設定ファイルを読込/保存するサンプル(C#.NET)」です。 ★標準モジュール(Module1.vb) Imports System.IO Imports System.Text Imports System.Xml.Serialization Public Module Module1 ''' <summary> ''' 環境設定データのフォルダ名 ''' </summary> Private Const DEF_FLD As String = "Env" ''' <summary> ''' 環境設定データのファイル名 ''' </summary> Private Const DEF_FIL As String = "EnvInfo.xml" ''' <summary> ''' 環境設定データ ''' </summary> ''' <remarks></remarks> Public Class EnvData ''' <summary> ''' 環境設定項目1 ''' </summary> ''' <remarks></remarks> Public val1 As Integer = 123 ''' <summary> ''' 環境設定項目2 ''' </summary> ''' <remarks></remarks> Public val2 As String = "abc" End Class Public EnvDt As EnvData = New EnvData() ''' <summary> ''' 環境初期設定 ''' </summary> ''' <remarks></remarks> Public Sub EnvInitialize() ' 環境設定データの読込 ReadEnv() End Sub ''' <summary> ''' 環境設定データのファイル保存 ''' </summary> ''' <remarks></remarks> Private Sub SaveEnv() Dim sw As StreamWriter = Nothing Try ' 環境設定ファイルのPATH設定 Dim AppPath As String = System.AppDomain.CurrentDomain.BaseDirectory Dim SettingPath As String = AppPath & DEF_FLD & "\" & DEF_FIL ' 環境設定フォルダ作成 If Directory.Exists(DEF_FLD) = False Then Directory.CreateDirectory(AppPath + DEF_FLD) End If ' 環境設定データ保存 sw = New StreamWriter(SettingPath, False, Encoding.Default) Dim serializer As XmlSerializer = New XmlSerializer(GetType(EnvData)) serializer.Serialize(sw, EnvDt) Catch ex As Exception System.Diagnostics.Debug.Write(ex) Finally If sw Is Nothing = False Then sw.Close() End Try End Sub ''' <summary> ''' 環境設定データのファイル読込 ''' </summary> ''' <remarks></remarks> Private Sub ReadEnv() Dim sr As StreamReader = Nothing Try ' 環境設定ファイルのPATH設定 Dim AppPath As String = System.AppDomain.CurrentDomain.BaseDirectory Dim SettingPath As String = AppPath & DEF_FLD & "\" & DEF_FIL If File.Exists(SettingPath) Then ' 環境設定データ読込 sr = New StreamReader(SettingPath, Encoding.Default) Dim serializer As XmlSerializer = New XmlSerializer(GetType(EnvData)) EnvDt = CType(serializer.Deserialize(sr), EnvData) Else ' 環境設定ファイルが存在しない時は作成 SaveEnv() End If Catch ex As Exception System.Diagnostics.Debug.Write(ex) Finally If sr Is Nothing = False Then sr.Close() End Try End Sub End Module ★フォームモジュール(Form1.vb) Private Sub Form1_Load( _ ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' 環境初期設定 EnvInitialize() System.Diagnostics.Debug.WriteLine(EnvDt.val1) System.Diagnostics.Debug.WriteLine(EnvDt.val2) End Sub |