加载/保存.ini文件

时间:2016-02-08 10:16:13

标签: delphi delphi-7

我编写了一个代码,让我将变量保存到带有自定义文件名的.ini文件中。文件名取决于EditBox1中的文本。没问题。我的问题是如何通过从加载文件窗口(Windows资源管理器)中选择文件来从该自定义文件名加载这些变量。

DataIni:=TIniFile.Create(getcurrentdir+'\save folder\' + EditBox1.Text +'.ini');

示例保存变量

DataIni.WriteString('INFO','FirstName',EditFirstName.Text);
DataIni.WriteString('INFO','MiddleName',EditMiddleName.Text);
DataIni.WriteString('INFO','FamilyName',EditFamilyName.Text);

示例加载变量

EditFirstName.Text := DataIni.ReadString('INFO','FirstName',EditFirstName.Text);
EditMiddleName.Text := DataIni.ReadString('INFO','MiddleName',EditMiddleName.Text);
EditFamilyName.Text := DataIni.ReadString('INFO','FamilyName',EditFamilyName.Text);

所以例如EditBox1.Text ='MyFile1',如何通过从其他文件列表中选择MyFile1.ini来加载MyFile1.ini中保存的变量?

1 个答案:

答案 0 :(得分:0)

您可以使用TOpenDialog获取所需文件的名称,以便调用函数来加载值。

uses IniFiles;
...

单击该按钮,调用OpenDialog.Execute以允许选择文件名。

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TOpenDialog.Create(Self) do
  try
    Filter := 'Ini Files (*.ini)|*.ini';
    if Execute then
      LoadMyVars(FileName);
  finally
    Free;
  end;
end;

此函数将ini文件的值加载到控件中。

procedure TForm1.LoadMyVars(const AFileName: string);
var
  DataIni : TIniFile;
begin
  DataIni := TIniFile.Create(AFileName);
  try
    EditFirstName.Text := DataIni.ReadString('INFO','FirstName', '');
    EditMiddleName.Text := DataIni.ReadString('INFO','MiddleName', '');
    EditFamilyName.Text := DataIni.ReadString('INFO','FamilyName', '');
  finally
    FreeAndNil(DataIni);
  end;
end;