掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
クラスへデータをセットするには? (ID:145623)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めまして。現在入門書を読みながら2008 ExpressEditionでアプリを作ろうとして います。現在、iniファイルからキー値を読出し、クラスに値をセットしようとして いるのですが、そのセットのところでつまずいています。現在はキー値を読み出せて もコンストラクタの値がセットされてしまっています。キー値をクラスの値にセット するにはどのように修正すればよろしいのでしょうか。 以下作成中のソースの部分です。 Imports System.Runtime.InteropServices Public Class Form1 ※ dllの定義部分(省略) Public CurDir As String Public IniName As String = "sample.ini" 'フォーム出力時にiniファイルのデータを読み出し、クラス DefaultSettingに値を格納する Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CurDir = System.IO.Directory.GetCurrentDirectory 'iniファイルを読み、クラスにセットする。 iniFile_Read(CurDir, CurDir & "\" & IniName) End Sub 'iniファイル読出し Sub iniFile_Read(ByVal cdr As String, ByVal ininame As String) Dim dfSetting As New DefaultSetting() Dim strResult As String = Space(255) Dim cntdb As String Dim bkdo As String Dim bkfld As String Dim rirekidays As Integer GetPrivateProfileString("db", "connect", "home", strResult, Len(strResult), ininame) cntdb = dfSetting.setuzokusaki(Microsoft.VisualBasic.Left(strResult, InStr(strResult, Chr(0)) - 1)) GetPrivateProfileString("bkup", "do", "yes", strResult, Len(strResult), ininame) bkdo = dfSetting.bkup(Microsoft.VisualBasic.Left(strResult, InStr(strResult, Chr(0)) - 1)) If bkdo = "yes" Then ChkBKUPYes.Checked = True GetPrivateProfileString("bkup", "folder", cdr, strResult, Len(strResult), ininame) bkfld = dfSetting.bkupfld(Microsoft.VisualBasic.Left(strResult, InStr(strResult, Chr(0)) - 1)) TxtFolder.Text = bkfld Else ChkBKUPYes.Checked = False TxtFolder.Text = "" bkfld = "" End If rirekidays = dfSetting.rireki(GetPrivateProfileInt("historical", "days", 0, ininame)) TxtRirekidays.Text = rirekidays End Sub End Class Class DefaultSetting Private setuzoku As String Private bkupdo As String Private bkup_fld As String ''コンストラクタ iniファイルの各キーの初期値を設定する Sub New() '接続先 setuzoku = "home" bkupdo = "yes" bkup_fld = System.IO.Directory.GetCurrentDirectory rireki_days = 20 End Sub '接続先に関するプロパティ 接続先はstockまたはtestdb001のどちらか Property setuzokusaki(ByVal str As String) As String Get Return setuzoku End Get Set(ByVal value As String) If value <> "home" And value <> "testdb001" Then MessageBox.Show("接続先指定文字列エラー testdb001に接続します", "接続指定error") value = "testdb001" Else setuzoku = value End If End Set End Property 'バックアップのする/しないに関するプロパティ bkupdoはyesまたはnoのどちらか Property bkup(ByVal str As String) As String Get Return bkupdo End Get Set(ByVal value As String) If value <> "yes" And value <> "no" Then value = "yes" Else bkupdo = value End If End Set End Property 'バックアップ先に関するプロパティ '指定したフォルダが調べて存在しなければこの実行ファイルがあるフォルダにセットする Property bkupfld(ByVal fld As String) As String Get Return bkup_fld End Get Set(ByVal value As String) If My.Computer.FileSystem.DirectoryExists(fld) = False Then bkup_fld = System.IO.Directory.GetCurrentDirectory Else bkup_fld = value End If End Set End Property End Class 対象のsample.ini [db] connect=testdb001 [bkup] do=yes folder=c:\temp
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.