以前用BCB 喜欢把参数保存在INI 文件,
用EVC喜欢保存在注册表,
现在学用C#, 听说可以保存在程序本身,不明白.....?请问什么原理?谢谢!
用EVC喜欢保存在注册表,
现在学用C#, 听说可以保存在程序本身,不明白.....?请问什么原理?谢谢!
解决方案 »
- LINQ to SQL的多条件查询(wher语句)
- 判断鼠标是否在特定区域的问题
- 不是说vs2008可以调试js(只能设置断点,运行到不了断点,注意绝不是代码问题,我就设置了两个变量的声明)吗?为何我的不能(IE7启动调试已经开启)
- 错误::“string”并不包含“args”的定义
- winForm中如何打印当前窗体?
- 郁闷了三天了,问了N多的人,查了N多的资料,希望在这里得到解决.C#调用C++组件的问题 分少了点,但只有三十分了
- 关于C#字段属性
- 很不错的C#学习资料
- 如何更改活动窗体标题栏的背景颜色,或者是否可以放置图片?
- 使用.NET生成的COM组件,PB调用后窗体中的快捷键无反应
- 正则表达式如何删除部分 <img中的信息
- .net能实现sftp下载吗???
很容易吧,比如你写文件的时候可以这样:
参数1[值]参数2[值]参数3[值]参数4[值]....
读取的时候就这样:
一次性都读过来,然后写个正则
参数1\[(?<参数1>[^\]]+?)参数2\[(?<参数2>[^\]]+?).....
然后根据对应的组获取数据即可,例如:
IntParameter1 = int.Parse(result.Group["参数1"].Value);
//写配置文件
private void btnWrite_Click(object sender, EventArgs e)
{
int iMyVariable = 0;
if (int.TryParse(textBox1.Text, out iMyVariable))
{
System.IO.FileInfo fiSettingFile = new System.IO.FileInfo(@"c:\MySetting.txt");
System.IO.StreamWriter sw = fiSettingFile.CreateText();
string strSetting = string.Format("TextValue1[{0:d}]TextValue2[{1:d}]",
iMyVariable, iMyVariable + 5);
sw.Write(strSetting);
sw.Flush();
sw.Close();
MessageBox.Show("Save setting done!");
}
}//读配置文件
private void btnRead_Click(object sender, EventArgs e)
{
System.IO.FileInfo fiSettingFile = new System.IO.FileInfo(@"c:\MySetting.txt");
if (!fiSettingFile.Exists || 0 == fiSettingFile.Length)
{
MessageBox.Show("Setting file missing.Use default setting now.");
textBox1.Text = "0";
return;
} System.IO.StreamReader sr = fiSettingFile.OpenText();
string strSetging = sr.ReadToEnd();
System.Text.RegularExpressions.Match result =
System.Text.RegularExpressions.Regex.Match(strSetging,
@"TextValue1\[(?<value1>[^]]+?)\]TextValue2\[(?<value2>[^]]+?)\]");
if (result.Success)
{
textBox1.Text = result.Groups["value1"].Value;//update view control
string strTest = result.Groups["value2"].Value;
int iMyVariable = 0;
if (int.TryParse(result.Groups["value1"].Value, out iMyVariable))
{
string strTest2 = string.Format("value1:{0:d}\r\nvalue2:{1:s}",
iMyVariable,strTest);
MessageBox.Show("get data successful!\r\nThese are :\r\n" + strTest2);
}
}
}
using Microsoft.Win32;RegistryKey vRegistryKey = Registry.CurrentUser.OpenSubKey(
@".DEFAULT", true);
vRegistryKey.SetValue("Note", "Zswang 路过");MessageBox.Show(vRegistryKey.GetValue("Note").ToString());
建议使用 .NET 配置文件如 app.config、web.config,System.Configuration 命名空间包含提供用于处理配置数据的编程模型的类型,可查看 MSDN 相关章节
<appSettings>
<add key="MyParam" value="Hello, World" />
</appSettings>程序里这样读:
ConfigurationSettings.AppSettings["MyParam"];这种方法的问题是参数只能读,程序里不能修改。如果需要修改的话可以用Xml文件,比text文件要可靠一些。---------------------------------------------------------------
http://pointlessly.blogspot.com
http://www.w3sky.com/147.html
string strXml = Environment.CurrentDirectory + "\\config.xml";
XmlTextWriter xtw = new XmlTextWriter( strXml , null );
xtw.WriteStartElement("AppSetting");
xtw.WriteElementString("TestValue1", textBox1.Text);
xtw.WriteEndElement();
xtw.Flush();
xtw.Close();//读
string strXml = Environment.CurrentDirectory + "\\config.xml";
if (!System.IO.File.Exists(strXml))
{
this.Text = "File not found!";
return;
}
XmlTextReader xtr = new XmlTextReader(strXml);
xtr.ReadStartElement("AppSetting");
textBox1.Text = xtr.ReadElementString("TestValue1");
xtr.ReadEndElement();
xtr.Close();xml的节点是随便可以添加的。