我的界面就有 mscomm1 ,一个 textbox 和commod 三个组件现在我就像用 点击“commod”之后 让外面发来的字符串 在 textbox 里显示我该怎么办?  万分感谢!

解决方案 »

  1.   

    好好看看MSDN吧,用事件驱动的方式将数据收到缓冲区,点击“commod”后,再显示出来好了。
      

  2.   

    看看下面的例子吧:窗体各控件初始化程序 设置通信串口工作参数,设置periodic定时器的在断间隔为ls, nonperiodic定时器的中断间隔为0.5s。   sub form-load ()    mscomm1.commport=2 ’选用com2串行口    mscomm1.settings="9600,n8,1"    ’波特率9600,无奇偶校验位,8位数据位1位停止位    mscomm1.inputlen=0 ’input将读取接收缓冲区的全部内容    mscomm1.inbuffersize=1024 ’设置接收缓冲区的字节长度    mscomm1.portopen=true ’打开通信口    mscomm1.inbuffercount=0 ’清除发送缓冲区数据    mscomm1.outbuffercount=0 ’清除接收缓冲区数据    periodic.inteval=100 ’设置ls定时间隔,使遥测命令每隔ls发送1次    nonperiodic.inteval=500    ’设置0.5s定时间隔,查询命令按钮是否处于激活状态以确定是否发送周期性命令    command-pressed=false ’命令按钮为未激活状态    during- periodic=false ’周期性命令数据传输尚未开始    during- nonperiodic=false ’非周期性命令数据传输尚未开始   end sub      2.2 非周期性命令发送程序    根据命令按钮状态及周期性命令数据传输状态,在nonperiodic定时器的中断程序中发送非周期性命令。  
     sub nonperiodic-command-click ()    command-pressed=true ’命令按钮激活   end sub   sub nonperiodic-timer ()    if during- periodic=true or command-pressed=false  
    then exit sub    ’若周期性命令数据传输尚未结束或命令按钮处于激活状态,则退出发送非周期性命令程序。    command-pressed=false ’命令按钮恢复为未激活状态    call senddata (nonperiodic-command) ’发送非周期性命令    mscomm1.rthreshold=r-nonperiodic-byte   ’发送非周期性命令后,设置rthreshold属性,使主站接收所设定的字节数后引发oncomm事件   end sub  
        2.3 periodic定时器程序    在periodic定时器的中断程序中发送周期性命令:  
     sub periodic-timer ()    if during- nonperiodic=true then exit sub     ’若非周期性命令数据传输尚未结束,则退出发送非周期性命令程序。     during-periodic=true ’设置周期性命令数据传输状态为正在进行中     call senddata (periodic-command) ’发送周期性命令     mscomm1.rthreshold=r-periodic-byte     ’发送周期性命令后,主站接收r-remot- edata-byte个字节,可引发oncomm 事件  
      end sub  
      
      oncomm事件程序    根据rthreshold属性设置值,当接收缓存区内接收到相应字节的字符时,引发oncomm事件,在中断程序中接收数据。   sub mscomm1-oncomm ()    select case mscomm1.commevent    ’在此可插入处理各种不同错误或事件的代码     case mscomm-ev-receive      receivestring$=mscomm1.input      select case mscomm1.rthreshold       case r-periodic-byte ’周期性命令的应答数据        call disposedata(periodic-command) ’处理接收数据        during periodic=false ’设置周期性命令数据传输状态为结束       case r-nonperiodic-byte ’非周期性命令的应答数据        call disposedata(nonperiodic-command) ’处理接收数据        during-nonperiodic=false        ’设置非周期性命令数据传输状态为结束       end select      end select    end sub