ini文件部分到stringgrid

时间:2010-09-05 09:24:02

标签: delphi

有人知道/给我一个如何从ini文件中读取一个部分到stringGrid的例子吗?因为我正在努力弄清楚如何去做。

感谢

科林

2 个答案:

答案 0 :(得分:7)

您最好使用TValueListEditor来显示ini文件的一部分。

这是一个简单的演示代码:

procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStrings;
  IniFile: TMemIniFile;
begin
  SL:= TStringList.Create;
  try
    IniFile:= TMemIniFile.Create('test.ini');
    try
      IniFile.ReadSectionValues('FOLDERS', SL);
      ValueListEditor1.Strings.Assign(SL);
    finally
      IniFile.Free;
    end;
  finally
    SL.Free;
  end;
end;

答案 1 :(得分:6)

OTOMH:

procedure ReadIntoGrid(const aIniFileName, aSection: string; const aGrid: TStringGrid);
var
  Ini: TIniFile;
  SL: TStringList;
  i: Integer;
begin
  SL := TStringList.Create;
  try
    Ini := TIniFile.Create(aIniFileName);
    try
      aGrid.ColCount := 2;
      Ini.ReadSectionValues(aSection, SL);
      aGrid.RowCount := SL.Count;
      for i := 0 to SL.Count - 1 do
      begin
        aGrid.Cells[0,i] := SL.Names[i];
        aGrid.Cells[1,i] := SL.ValueFromIndex[i];
      end;
    finally
      Ini.Free;
    end;
  finally
    SL.Free;
  end;
end;

修改

反过来说:

procedure SaveFromGrid(const aIniFileName, aSection: string; const aGrid: TStringGrid);
var
  Ini: TIniFile;
  i: Integer;
begin
  Ini := TIniFile.Create(aIniFileName);
  try
    for i := 0 to aGrid.RowCount - 1 do
      Ini.WriteString(aSection, aGrid.Cells[0,i], aGrid.Cells[1,i]);
  finally
    Ini.Free;
  end;
end;