procedure senddata;  var  i:integer;  commflg:boolean;  begin  viewstring:=‘’ ;  commflg:=true;  for i:=1 to 6 do  begin  if not fcomm.comm1.writecommdata(@sbuf[i],1) then  begin  commflg:=false;  break;  end;  //发送时字节间的延时  sleep(2);  viewstring:=viewstring+ inttohex(sbuf[i],2)+‘’ ; end;  viewstring:=‘发送’+ viewstring;  fcomm.memo1.lines.add(viewstring);  fcomm.memo1.lines.add(‘’ );  if not commflg then messagedlg(‘发送失败 !’ ,mterror,[mbyes],0);  end; 
请问,这里对SendData过程的定义中,sleep(2)的作用是什么?还有sleep(2)之后的那几行代码是什么意思?详细点,新手求指导。谢谢

解决方案 »

  1.   

    sleep(2);  注释写的很清楚是:字节间的延时之后的几行是操作TMemo控件,来记录相应的操作流程。
      

  2.   

    viewstring:=viewstring+ inttohex(sbuf[i],2)+‘’ ; end;   viewstring:=‘发送’+ viewstring;   fcomm.memo1.lines.add(viewstring);   fcomm.memo1.lines.add(‘’ );   
    这几行中的第一句和第三四局具体是干嘛用的? (sbuf:= array[16] of byte)
      

  3.   

    viewstring:=viewstring+ inttohex(sbuf[i],2)+‘’ ;//这个是把信息转化成16进制显示,
    fcomm.memo1.lines.add(viewstring);   //把字符串viewstring显示到memo1中
    fcomm.memo1.lines.add(‘’ ); //增加一个空行
      

  4.   

    很多设备没有cpu和内存快,所以需要延时。
      

  5.   

    第一句 就是你每发送一次数据 viewstring变量就记录你发送了什么
    例如
    你要发送 A B C三个数据
    那么viewstring 最后就是 ABC;fcomm.memo1.lines.add(viewstring); //向TMemo控件添加 一行数据,也就是记录本次发送的数据。