【问题标题】:Writing/Reading User-Defined settings in app.config file在 app.config 文件中写入/读取用户定义的设置
【发布时间】:2011-08-16 18:39:07
【问题描述】:

我正在尝试读取和写入用户设置的 app.config 文件。我找到了一个使用配置文件的代码的 sn-p。我终于让它编译并运行了,但它似乎对 App.config 文件没有任何作用。

代码如下:

Method MainForm1.Button1.Click(sender: System.Object; e: System.EventArgs);
var
config  : System.Configuration.Configuration;
begin
     config:=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     config.AppSettings.Settings.Add('PreferenceToRemember','value1');
     config.Save(ConfigurationSaveMode.Modified);
     ConfigurationManager.RefreshSection('appSettings');
end;

它正在编译,没有任何错误,但我不知道它是否在做任何事情。

代码有什么问题吗?我需要能够写/读一个部分和写/读一个键/值。提前致谢。

更新:我没有使用 ConfigurationManager,而是使用 Properties.Settings.Default。但是,我在写入和读取时遇到了一些问题,尽管程序没有任何错误并且代码看起来很简单。

如何在代码中读取和写入 Properties.Settings.Default?

【问题讨论】:

标签: configuration app-config delphi-prism read-write


【解决方案1】:

也许您正在查看错误的文件? 您在解决方案中的 app.config 将被复制到 bin/Debug 或 bin/Release 文件夹中的 YourProgramFile.exe.config。运行程序时,它将更新此文件,而不是解决方案中的 app.config 文件。

那么也许您还应该检查您的应用程序文件夹的写入权限。通常(Win Vista、Win 7)执行应用程序的用户在应用程序应驻留的 Program Files 文件夹中没有写入权限,因此更新 .config 很可能由于缺少写入权限而失败。对于 Linux/Unix 系统更是如此。

您应该尝试将需要编写的元素分开,并在用户特定的文件夹中编写额外的配置文件。您最初可以从普通应用程序配置中获取默认值,然后只更新用户特定的配置文件,这样您就不会受到文件权限的阻碍,每个用户都可以专门更新他们的设置。

【讨论】:

  • 您能否使用此代码访问 properties.settings 值 - MainForm.Top := Properties.Settings.Default.item['MainFormTop'];
  • 看看这篇文章。与其存储顶部、左侧、高度和宽度,不如存储位置(包括顶部+左侧)和尺寸(包括高度+宽度):blogs.msdn.com/b/rprabhu/archive/2005/11/28/497792.aspx
猜你喜欢
  • 2010-10-26
  • 2011-04-08
  • 2020-03-17
  • 2018-04-07
  • 1970-01-01
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
相关资源
最近更新 更多