我的桌面上有120个Edit和120个ComboBox控件,我现在需要将接收的数据显示在这240个控件里,
接收的数据格式是这样的:前5个字节为头标志,从第6个开始为正式数据,每4个字节为一组,例如:
第6 7 8 个字节的数据处理组合后显示在Edit1里,第9个字节数据通过处理后显示ComboBox1的内容,以此类推,所以
我写了以下的程序:
Var
 i,j,k : Integer;
 T1,T2 : TCOmponent;
 s,strRecv : String;
 s1 : array[1..500] of String;
begin
         for i :=1 to 120 do
               begin
                 T1 :=FindComponent('AutoFitDlg.Edit'+IntToStr(i));
                 T2 :=FindComponent('AutoFitDlg.ComboBox'+IntToStr(i));
                 if (T1<>nil) and (T1 is TEdit) and (T2<>nil) and (T2 is TComboBox) then
                   begin
                     s :='';
                     k :=2+4*i;
                     for j :=k to k+2 do
                       begin
                          s1[j] :=format('%d',[ord(strRecv[j])]);
                          case  StrToInt(s1[j]) of
                            0 : s1[j] :='00';
                            1 : s1[j] :='01';
                            2 : s1[j] :='02';
                            3 : s1[j] :='03';
                            4 : s1[j] :='04';
                            5 : s1[j] :='05';
                            6 : s1[j] :='06';
                            7 : s1[j] :='07';
                            8 : s1[j] :='08';
                            9 : s1[j] :='09';
                          end;
                          s :=s+s1[j];
                       end;
                       TEdit(T1).Text :=s[1]+s[2]+'.'+s[3]+s[4]+s[5]+s[6];
                       TComboBox(T2).ItemIndex :=ord(strRecv[k+3])-48;
                   end;
               end;
end;
当然,我用的SPCOMM控件,这段程序在它的OnReceiveData事件里,接收的数据保存在上面程序中的strRecv字符串中,
我现在不明白的是:以上这段程序的功能实现不了,接收回来后,显示内容是空的,但我不知道这段程序
什么地方是错的,希望大家不吝赐教。
数据的接收没有问题,我挨个挨个地试过前10个,没有问题,能够正常显示,但写成这种控件数据的形式就不行了。
因为我不想一个一个地去写,那样是没有问题的,但代码要几千行的。