我有一个ini文件,其中包含以下内容:
[Colours]
1 = Red
2 = Blue
3 = Green
4 = Yellow
在我的应用程序中,我有一个TComboBox,我想填充ini文件中的颜色。
有谁知道我该怎么做?
谢谢,
答案 0 :(得分:5)
您可以使用time.Minutes
获取部分中的名称列表,然后迭代以获取值:
TIniFile.ReadSection()
作为替代方案,您还可以将该部分中的名称/值对转储为单个procedure TForm1.LoadFile(const AFilename: String);
var
I: TIniFile;
L: TStringList;
X: Integer;
N: String;
V: String;
begin
I:= TIniFile.Create(AFilename);
try
L:= TStringList.Create;
try
ComboBox1.Items.Clear;
I.ReadSection('Colours', L);
for X := 0 to L.Count-1 do begin
N:= L[X]; //The Name
V:= I.ReadString('Colours', N, ''); //The Value
ComboBox1.Items.Add(V);
end;
finally
L.Free;
end;
finally
I.Free;
end;
end;
,并使用字符串列表的内置功能读取每个值...
TStringList
在旁注中,Ini文件在=符号的两侧没有空格,除非您希望将该空格作为实际名称或值的一部分。
答案 1 :(得分:1)
试试这个,而不是两次读取文件:
uses IniFiles;
procedure TForm1.Button1Click(Sender: TObject);
var
lIni : TIniFile;
i: Integer;
begin
lIni := TIniFile.Create('c:\MyFile.ini');
try
lIni.ReadSectionValues('Colours', ComboBox1.Items);
for i := 0 to ComboBox1.Items.Count - 1 do
ComboBox1.Items[i] := ComboBox1.Items.ValueFromIndex[i];
finally
FreeAndNil(lIni);
end;
end;