Delphi7 TIniFile用法

时间:2015-10-28 21:55:02

标签: delphi delphi-7

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

[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设置,是否可以隐藏或加密用户保存的密码?

1 个答案:

答案 0 :(得分:3)

只需阅读主要表单FormCreate事件中的Ini文件即可。

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包含WinAPI INI支持函数(ReadPrivateProfileString和其他函数),而TMemIniFile完全用Delphi代码编写,并且不会遇到相同的问题。它们在语法上是兼容的并且在同一个单元中,因此在变量声明中将TIniFile更改为TMemIniFile以及创建Ini的行很简单:

var
  Ini: TMemIniFile;
begin
  Ini := TMemIniFile.Create(YourIniFileName);
  ...
end;

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