在Win32 Delphi应用程序中存储用户首选项和设置的最佳实践是什么?

Mic*_*nny 5 delphi settings preferences delphi-2010

我想在我的Delphi Win32应用程序中存储用户首选项(颜色,工具栏开/关,面板宽度,以像素为单位)和应用程序设置(最后10个文件,默认保存目录,默认打开目录).这样做的最佳做法是什么?

Dav*_*nan 11

您有两个主要选择:

  1. 将设置存储在用户配置文件下的文件中.如果您的设置足够简单,那么INI文件可以充分发挥作用.
  2. 将设置存储在注册表中,该注册表下HKEY_CURRENT_USER也是配置文件的一部分.

我个人更喜欢使用注册表,因为它免费提供分层存储.如果你使用一个文件,那么你必须自己做,这可以绑定更复杂的数据.

另一方面,如果你想编写一个便携式应用程序,即一个可以存在于记忆棒上的应用程序,那么与可执行文件并排放置的用户设置文件就是最佳选择.

  • 就个人而言,我更喜欢始终编写便携式应用程序,并且不要在注册表中存储任何内容。Delphi 非常适合创建无需设置的应用程序:从您想要的任何位置复制和运行......这当然是个人品味的问题,但我看到通常用户/客户认为此功能非常好/与众不同的。关于 UAC 和配置文件,甚至一些应用程序现在倾向于将可执行文件放在用户数据中,例如 Google Chrome。;) (2认同)