首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi7 TIniFile使用率

Delphi7 TIniFile使用率
EN

Stack Overflow用户
提问于 2015-10-29 05:55:02
回答 1查看 754关注 0票数 0

我正在尝试创建一个ini文件来保存应用程序配置。保存部分与来自编辑框1、2、3等的输入完美配合

代码语言:javascript
复制
[1server]
SSHHost=ssh.com
SSHPort=443
Username=user
Password=123
[2server]
SSHHost=ssh.com
SSHPort=443
Username=user
Password=123
[ProxySettings]
Proxy=127.0.0.1
Port=8080
Type=http

如何让应用程序在启动时读取保存的ini设置,是否可以隐藏或加密用户保存的密码?

EN

回答 1

Stack Overflow用户

发布于 2015-10-29 06:36:54

只需在主窗体的FormCreate事件中读取Ini文件。

代码语言:javascript
复制
procedure TForm1.FormCreate(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create(YourIniFileName);
  try
    // The final parameter to all of the `ReadXx` functions is a default
    // value to use if the value doesn't exist.
    Edit1.Text := Ini.ReadString('1server', 'SSHHost', 'No host found');
    Edit2.Text := Ini.ReadString('1server', 'SSHPort', 'No port found');
    // Repeat, using ReadString, ReadInteger, ReadBoolean, etc.
  finally
    Ini.Free;
  end;
end;

需要注意的一点是:TIniFile在写入网络位置时存在已知问题,因此如果有任何可能,您应该改用TMemIniFileTIniFile封装了Delphi支持函数(ReadPrivateProfileString和其他函数),而TMemIniFile完全是用WinAPI代码编写的,不会遇到同样的问题。它们是语法兼容的,并且在同一个单元中,因此只需在变量声明和创建Ini的代码行中将TIniFile更改为TMemIniFile就可以了

代码语言:javascript
复制
var
  Ini: TMemIniFile;
begin
  Ini := TMemIniFile.Create(YourIniFileName);
  ...
end;

至于加密密码,您可以使用任何想要的加密算法,只要加密值可以转换为文本表示形式即可。(Ini文件不处理二进制值。)算法的选择取决于您尝试实现的安全级别。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33402299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档