如何实现这个案例:我有 20 个项目的 CheckListBox:症状 1、症状 2、..、症状 20。用户可以选择多个症状。让我感到困惑的是,如何为每个症状赋予多个值。这是我的代码:
for i := 0 to CheckListBox1.Items.Count - 1 do
begin
if CheckListBox1.Checked[i] = True then
begin
Memo1.Lines.Append(CheckListBox1.Items.Strings[i]);
if i = 0
p1 := 'Disease 1';
p2 := 'Disease 2';
p3 := 'Disease 3';
if i = 1 then
p1 := 'Disease 2';
if i = 2 then
p1 := 'Disease 1';
if i = 3 then
p1 := 'Disease 3';
if i = 4 then
p1 := 'Disease 2';
p2 := 'Disease 3';
if i = 5 then
p1 := 'Disease 1';
p2 := 'Disease 5';
p3 := 'Disease 6';
if i = 6 then
p1 := 'Disease 5';
Memo1.Lines.Add('Disease:' + p1+', '+p2+', '+p3);
Memo1.Lines.Add('');
end;
end;
end;
但结果并不如我所料。如何动态地制作 p1,p2,p3 ?
这是我在索引 2、4、6 处检查时的结果:
Symptomp 3
Disease:Disease 1, Disease 5, Disease 6
Symptomp 5
Disease:Disease 2, Disease 5, Disease 6
Symptomp 7
Disease:Disease 5, Disease 5, Disease 6