我正在尝试创建一个ini文件来保存应用程序配置。保存部分与来自编辑框1、2、3等的输入完美配合
[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设置,是否可以隐藏或加密用户保存的密码?
发布于 2015-10-29 06:36:54
只需在主窗体的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在写入网络位置时存在已知问题,因此如果有任何可能,您应该改用TMemIniFile。TIniFile封装了Delphi支持函数(ReadPrivateProfileString和其他函数),而TMemIniFile完全是用WinAPI代码编写的,不会遇到同样的问题。它们是语法兼容的,并且在同一个单元中,因此只需在变量声明和创建Ini的代码行中将TIniFile更改为TMemIniFile就可以了
var
Ini: TMemIniFile;
begin
Ini := TMemIniFile.Create(YourIniFileName);
...
end;至于加密密码,您可以使用任何想要的加密算法,只要加密值可以转换为文本表示形式即可。(Ini文件不处理二进制值。)算法的选择取决于您尝试实现的安全级别。
https://stackoverflow.com/questions/33402299
复制相似问题