这只是一个判断并没有层次关系
意思是当语句符合下面这些条件的任何一个时 将不进行拷贝
   这样的语句有很多相同的地方
   我想请问能不能用for循环的方法让程序写的更精练一点
if (Edit1.text=w1.text)and (checkbox1.checked=true) then
 begin
 showmessage('不可以拷贝');
end
else
if (Edit1.text=w2.text)and (checkbox1.checked=true) then
 begin
 showmessage('不可以拷贝');
end
else
if (Edit1.text=w3.text)and (checkbox1.checked=true) then
 begin
 showmessage('不可以拷贝');
end
else
if (Edit1.text=w4.text)and (checkbox1.checked=true) then
 begin
 showmessage('不可以拷贝');
end 
else
if (Edit1.text=w1.text)and (checkbox2.checked=true) then
 begin
 showmessage('不可以拷贝');
end 
else
if (Edit1.text=w2.text)and (checkbox2.checked=true) then
 begin
 showmessage('不可以拷贝');
end 
else
if (Edit1.text=w3.text)and (checkbox2.checked=true) then
 begin
 showmessage('不可以拷贝');
end 
else
if (Edit1.text=w4.text)and (checkbox2.checked=true) then
 begin
 showmessage('不可以拷贝');
end ;

解决方案 »

  1.   

    for i:=1 to 4 do
    begin
      if (edit1.text=(form1.findcomponent('w'+inttostr(i)) as TEdit).text) and (checkbox.checked=true or checkbox1.checked=true) then
      showmessage('不可以拷贝');
    end;
      

  2.   

    if checkbox1.checked or checkbox2.checked then
    if Edit1.text=w1.text then
     showmessage('不可以拷贝')
    else
    if Edit1.text=w2.text then
     showmessage('不可以拷贝')
    else
    if Edit1.text=w3.text then
     showmessage('不可以拷贝')
    else
    if Edit1.text=w4.text then
     showmessage('不可以拷贝');
      

  3.   

    参考楼上
    if checkbox1.checked or checkbox2.checked then
      for i:=1 to 4 do
      begin
        if edit1.text=(form1.findcomponent('w'+inttostr(i)) as TEdit).text then
          showmessage('不可以拷贝');
      end;
      

  4.   

    if checkbox1.checked or checkbox2.checked then
    if Edit1.text=w1.text or Edit1.text=w2.text or Edit1.text=w3.text or Edit1.text=w4.text then
     showmessage('不可以拷贝');
      

  5.   

    上面确实 都是高手在下佩服佩服
    并且以 lovelymelon(小人物)
    回答的最快方法也是最好接受                                     谢谢了