有一数组: w:array [1..6,1..16] of string;
有96个edit,名字以w11....w116,w21...w216....命名。
我用如下程序:
   for i:=1 to 6 do   //颜色
    begin
      for j:=1 to 8 do
       begin
        myedit:=findcomponent('w'+inttostr(i)+inttostr(j*2));
        if (myedit is TEdit) then
        begin
           if w[i,j*2-1]>w[i,j*2] then
           begin
           TEdit(myedit).Color:=clred;
           end;
            if w[i,j*2-1]=w[i,j*2] then
           begin
           TEdit(myedit).Color:=clAqua;
           end;
            if w[i,j*2-1]<w[i,j*2] then
           begin
           TEdit(myedit).Color:=clYellow;
           end;
        end;
       end;
     end;
实现偶数列的颜色,即:2,4,6,8,10,12,14,16
12列以前都是对的,可14和16不对,等于的话对,大于小于都显示红色。
请问怎么回事?

解决方案 »

  1.   

    不会用Delphi给你个BC的不知对你有没有用
    TColor clr; 
    int n=100;
    for(int i=0;i<n;i++)
    {
       if(i%2==0)  //如果为偶数
         clr=clRed;
       else        //如果为奇数
         clr=clYellow;
    ...
    }
    ...
      

  2.   

    用Tag也就是在TEdit 里的的一个属性
    如TEdit(myedit).Tag:=1 就是设置它的Tag属性为1,它的默认值是0,如果你设置你的那些TEdit 的Tag为不同的值,那也就可以通过它的Tag值来知道那个是那个了,因为这些都是你自己设置的