我的ini文件内容很简单,用C#实现,
ini文件中的内容:
[间隔]
hour = 1
minute = 2
second = 3
请问,我怎样在我的程序里一启动的时候就调用ini文件中的内容,分别地显示在我的三个NumericUpDown中,然后如果有修改的话,能修改进来,比如修改为
[间隔]
hour = 4
minute = 5
second = 6
然后下次打开软件,就是4.5.6了,其实只要求个ini文件读写功能,求大家帮帮忙!
ini文件中的内容:
[间隔]
hour = 1
minute = 2
second = 3
请问,我怎样在我的程序里一启动的时候就调用ini文件中的内容,分别地显示在我的三个NumericUpDown中,然后如果有修改的话,能修改进来,比如修改为
[间隔]
hour = 4
minute = 5
second = 6
然后下次打开软件,就是4.5.6了,其实只要求个ini文件读写功能,求大家帮帮忙!
[DllImport("kernel32.dll")]
public static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32.dll")]
public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int Size, string filePath);
这两个API就可以帮你解决
private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);//api
[DllImport("kernel32.dll")]
public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32.dll")]
public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int Size, string filePath);
public void Writeini()
{
WritePrivateProfileString("间隔", "hour", "4", @"c:\1.INI");
WritePrivateProfileString("间隔", "minute", "5", @"c:\1.INI");
WritePrivateProfileString("间隔", "second", "6", @"c:\1.INI");
}
public void Readini()
{ StringBuilder _HourStr = new StringBuilder(500);
GetPrivateProfileString("间隔", "hour", "", _HourStr, 500, @"c:\1.INI"); StringBuilder _MinuteStr = new StringBuilder(500);
GetPrivateProfileString("间隔", "minute", "", _MinuteStr, 500, @"c:\1.INI");
StringBuilder _SecondStr = new StringBuilder(500);
GetPrivateProfileString("间隔", "second", "", _SecondStr, 500, @"c:\1.INI"); MessageBox.Show(_HourStr.ToString());
MessageBox.Show(_MinuteStr.ToString());
MessageBox.Show(_SecondStr.ToString());
}读写就这样 很简单的.
string path = @"D:\n.ini"; if (Directory.Exists(Path.GetDirectoryName(path)))
{
string[] aStr = File.ReadAllLines(path);
}
public void Writeini()
{
WritePrivateProfileString("间隔", "hour", "4", @"c:\1.INI");
WritePrivateProfileString("间隔", "minute", "5", @"c:\1.INI");
WritePrivateProfileString("间隔", "second", "6", @"c:\1.INI");
}
这个里面的4、5、6现在是不可更改的,如果我在界面上更改了,想点确定就修改掉,这里应该换成什么?我分别用三个NumericUpDown表示的hour,minute,second
public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32.dll")]
public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int Size, string filePath);
public void Writeini()
{
WritePrivateProfileString("间隔", "hour", "4", @"c:\1.INI");
WritePrivateProfileString("间隔", "minute", "5", @"c:\1.INI");
WritePrivateProfileString("间隔", "second", "6", @"c:\1.INI");
}
public void Readini()
{ StringBuilder _HourStr = new StringBuilder(500);
GetPrivateProfileString("间隔", "hour", "", _HourStr, 500, @"c:\1.INI"); StringBuilder _MinuteStr = new StringBuilder(500);
GetPrivateProfileString("间隔", "minute", "", _MinuteStr, 500, @"c:\1.INI");
StringBuilder _SecondStr = new StringBuilder(500);
GetPrivateProfileString("间隔", "second", "", _SecondStr, 500, @"c:\1.INI"); MessageBox.Show(_HourStr.ToString());
MessageBox.Show(_MinuteStr.ToString());
MessageBox.Show(_SecondStr.ToString());
} 读写就这样 很简单的.