有关Case语句的嵌套问题(50分)

  • 主题发起人 主题发起人 Teny
  • 开始时间 开始时间
T

Teny

Unregistered / Unconfirmed
GUEST, unregistred user!
各位,我想在CASE语句中嵌套一个CASE语句,如:
case ComboBox1.ItemIndex of
0:do...
1:begin
case ComboBox2.ItemIndex of
0:do...
1:do...
2:do...
end;
2:do...
在编译的过程未出错或有Warning出现,然而在程序中我却发现ComboBox1.ItemIndex=1时不起任何作用
请问哪位知道为什么
 
1: combobox2change(sender);
combobox2change(sender);
begin
case ComboBox2.ItemIndex of
0:do...
1:do...
2:do...
end;
end;
 
ugvanxk兄,您 所说的方法还是不行
 
你写在什么事件里啊!
 
我的事件是Button1.OnClick
 
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0:showmessage('0');
1:
case ComboBox2.ItemIndex of
0:showmessage('00');
1:showmessage('01');
2:showmessage('02');
end;
2:showmessage('2');
end;
end;
 
上面的combox1.item都为
0
1
2
3
4
5
6
 

procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0: ShowMessage('ComboBox1 0');
1:begin
case ComboBox2.ItemIndex of
0: ShowMessage('ComboBox2 0');
1: ShowMessage('ComboBox2 1');
2: ShowMessage('ComboBox2 2');
end;
end;
end;
end;
通过没有问题!
 
是的,上面几个例子都可以通过,是没问题,但为什么在的程序中就偏偏不行了呢?
 
可能你ComboBox2.ItemIndex或ComboBox1.ItemIndex超界,
又没写ELSE语句
 
各位,我犯了个天大的错误,原本有3个ComboBox,我错将ComboBox3写成ComboBox2了。
简直太可笑了。问题已经解决,不过既然大伙儿有意解答,我的这50分就平分给大伙儿了。
----------------------------------------
这个问题的讨论到此为止。
 

Similar threads

I
回复
0
查看
299
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
934
DelphiTeacher的专栏
D
后退
顶部