初学者求教(30分)

K

kj3

Unregistered / Unconfirmed
GUEST, unregistred user!
我是个初学者,有个问题想请教。当我有两个checkbox是,我用if语句,如何包括所有情况。
procedure TForm1.Button1Click(Sender: TObject);
begin
if checkbox1.Checked then
if checkbox2.Checked then
showmessage ('a')
else
showmessage ('b')
else
showmessage ('c')
end;
如果两个都未选中或只选中2会是同一结果。望赐教!
 
使用begin
和End区分开多个if else
 
有4种情况,而你的过程只有3个结果
if checkbox1.Checked then
if checkbox2.Checked then
showmessage ('a')
else
showmessage ('b')
else
showmessage ('c')
改成:

if checkbox1.Checked then
if checkbox2.Checked then
showmessage ('a')
else
showmessage ('b')
else
if checkbox2.Checked then
showmessage ('c')
else
showmessage ('d')
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if checkbox1.Checked then
begin
if checkbox2.Checked then
showmessage ('a')
else
showmessage ('b');
end
else
showmessage ('c')
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if checkbox1.Checked then
if checkbox2.Checked then
showmessage ('a')
else
showmessage ('b')
else
if checkbox2.Checked then
showmessage ('c')
else
showmessage ('d')

end;
 
建议写成
if checkbox1.Checked and checkbox2.Checked then
showmessage('both selected')
else
begin
if checkbox1.checked then
showmessage('checkbox1.selected')
else
if checkbox2.checked then
showmessage('checkbox2 selected')
else
showmessage('none selected');
end;
因为是初学者还是这么写吧。
这是简单的逻辑问题,只要有条理性就可以了,还是自己多摸索吧。
 
你忘记了直接对checkbox2 判断了。
 
多人接受答案了。
 
顶部