【发布时间】:2016-04-30 19:36:11
【问题描述】:
我想保存到 .ini 并在从保存的 ini 文件中填充复选框项目后。我有 2 个列表框,例如...
第一个列表框包含表格:
- 汽车
- 客户
- 用户
- 供应商
第二个列表框链接到第一个列表框,如果我单击 Cars 表并检查它,则以下数据将在第二个列表框上可见...
第二个列表框包含表格字段:
汽车
- Car_ID
- Car_Name
- Car_LicNum
- Car_Color etc..
用户
- 用户 ID
- 用户名
- User_Password 等...
任何人都可以帮助我如何将所有选中的项目(从复选框 1 和复选框 2)保存到 .ini 文件?之后我如何加载并用它们填充复选框?
我为第一个复选框做了,但是...
procedure TForm1.btn_SaveClick(Sender: TObject);
begin
ini := TIniFile.Create('C:\checklistbox.ini');
try
for i := 0 to Checklistbox1.Items.Count - 1 do
ini.WriteBool('items', Checklistbox1.Items[i], Checklistbox1.Checked[i]);
finally
ini.Free;
end;
end;
将项目加载到 checklistbox1
procedure TForm1.btn_LoadClick(Sender: TObject);
begin
ini := TIniFile.Create('c:\checklistbox.ini');
try
ini.ReadSection('items', Checklistbox1.Items);
for i := 0 to Checklistbox1.Items.Count - 1 do
CheckListbox1.Checked[i] := ini.ReadBool('items', Checklistbox1.Items[i], False);
finally
ini.Free;
end;
end;
我不知道如何保存 checklistbox2 中的项目链接到 checklistbox1 项目。我想在之后加载所有检查的项目。我目前正在使用 Delphi XE7。感谢您的回答!
【问题讨论】:
-
保存第一个列表框后,您可以为第一个列表框中的每个项目保存一个新部分,其中所有项目(在 listbox2 中)使该部分的名称与第一个列表框中的项目相同。只是逻辑上放置它的一个案例。
-
不要让您的业务模型依赖于 GUI。使 GUI 与知道如何将相关位存储到 ini 文件中的业务模型交互。之后,业务模型可以从 ini 文件填充其内部存储,并根据需要与 GUI 交互以填充检查列表。
标签: delphi delphi-xe delphi-xe7