条件选择判断的问题? ( 积分: 100 )

  • 主题发起人 主题发起人 -
  • 开始时间 开始时间
麻烦再请问:能不能给段代码,要求先判断checkbox的状态,
再在循环里一起用:
if CK1>=A1 AND CK1<=B1) and
(CK1>=A1 AND CK1<=B1) and
......
(CK1>=A10 AND CK1<=B10)
then
begin
DoSomething;
end;

麻烦您了,谢谢!
 
就是用 一诺 那种解法呀!楼主怎么不会好好想想呢
if (not Checkbox1.checked or (CK1>=A1 AND CK1<=B1)) and
(not checkbox2.checked or (CK1>=A2 AND CK1<=B2)) and
....
当 checkbox1.checked 为False则忽略后而的(CK1>=A1 AND CK1<=B1)之类的判断了,否则CheckBox1.Checked为True时则not Checkbox1.check为False, 这时这如下条件
(not Checkbox1.checked or (CK1>=A1 AND CK1<=B1)) 
就等于这句了
(checkbox.checked and (CK1>=A1 AND CK1<=B1))

还不明白的话,那真是无法可想了。。。哪里需要那些复杂的写法呀?
 
耗时间都是因为for,就是空的for,10,000,000也要很长时间的啊.
如果可能的话用TThread搞个线程,在后台运行.前台搞个进度条显示.
 
谢谢您们,因为我用的是数组,这样在循环里存在太多判断回影响执行速度的
所以我觉得能在循环前先判断checkbox的状态,确定哪几个条件可以执行,
再在循环里一起用最好:
for i:=0 to 999999 do
begin
if CK1>=A1 AND CK1<=B1) and
(CK2>=A1 AND CK2<=B1) and
......
(CK10>=A10 AND CK10<=B10)
then
begin
DoSomething;
end;
end;
请问是否能用 case of 之类的解决,谢谢。
如实在不行的话只好散分了。
 
谢谢,采用一诺的代码
 
访问控件属性判断比直接变量判断要慢很多,
>>所以我觉得能在循环前先判断checkbox的状态
如果在循环判断前判断CheckBox的状态,那Checkbox和它所对应的第二条件又还会存在什么对应关系呢?从你后面的话来看,你需要的是只要
CheckBox1.Checked.....CheckBox10.Checked只要有一个Checked为True就可以开始for 循环了。真是越来越搞不清楚楼主的问题所在了。。。

从前面的情况来看,我觉得你是需要循环执行N次满足条件的DoSomething事件,而且每次在判断(CK1>=A1 AND CK1<=B1)之类的第二条件之前都必须判断其对应的CheckBoxX.Checked之类的第一条件的是否为True,如果是这样的话,我觉得在判断之前,你先定义一系列Boolean型变量(或数组),把CheckBoxX.checked的值存起来,在循环判断中引用,这样在巨数的循环中应该会节约一些时间,
或者最好就是用线程啦
 
后退
顶部