このケースの実装方法: 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