C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 35 を表示中)
■17872 / )  パラメータとINIファイル
□投稿者/ tanaka (18回)-(2008/05/02(Fri) 19:31:56)

分類:[C#] 

幾つかのパラメータをINIファイルから読み込み・書き込みさせる処理をさせてます。
今のやり方はパラメータの数分読み書きそれぞれにコードを追加している状態で今後パラメータが増えた場合や違う人が追加した時等で大変であり汎用性がないのでいろいろ検討していますが悩んでます。(INIファイル使用自体は変えたくない)

【例】
public struct Param1
{
    public static float a;
    public static int   b; 
}
public struct Param2
{
    public static string c;
    public static byte   d; 
}
            :
            :

// INIFILE                  :INIファイルのパス
// GetPrivateProfileString  :INIファイル読み込みDLL
// WritePrivateProfileString:INIファイル書き込みDLL

// INIファイル読み込み
public void ParameterRead()
{
  StringBuilder strBuilder = new StringBuilder(255);
    GetPrivateProfileString("PARAMETER", "KEY1", "default", strBuilder, (uint)strBuilder.Capacity, INIFILE);
    Param1.a = float.Parse(strBuilder.ToString());
    GetPrivateProfileString("PARAMETER", "KEY2", "default", strBuilder, (uint)strBuilder.Capacity, INIFILE);
    Param1.b = int.Parse(strBuilder.ToString());
  StringBuilder strBuilder = new StringBuilder(255);
    GetPrivateProfileString("PARAMETER", "KEY3", "default", strBuilder, (uint)strBuilder.Capacity, INIFILE);
    Param2.c = strBuilder.ToString();
    GetPrivateProfileString("PARAMETER", "KEY4", "default", strBuilder, (uint)strBuilder.Capacity, INIFILE);
    Param2.d = byte.Parse(strBuilder.ToString());
            :
            :
}

// INIファイル書き込み
pubulic void ParameterWrite()
{
    WritePrivateProfileString("PARAMETER", "KEY1", "" + Param1.a, INIFILE);
    WritePrivateProfileString("PARAMETER", "KEY2", "" + Param1.b, INIFILE);
    WritePrivateProfileString("PARAMETER", "KEY3", "" + Param2.c, INIFILE);
    WritePrivateProfileString("PARAMETER", "KEY4", "" + Param3.d, INIFILE);
            :
            :
}

返信 編集キー/


管理者用

- Child Tree -