送到 串口中的数据格式:'短信息格式为:“VD”+短信息长度(低位)+短信息长度(高位)+“M”
             '+信道+台号(低位)+台号(高位)+ 信息内容
串口:是二进制模式。
信息内容:保存到MEMO1.TEXT 中:我写的部分程序如下:
var
  icount :integer;
  vTmp:variant;
  ovTmp: olevariant;
begin
icount := length(memo1.Text);
//形成命令数组
   vTmp:=VarArrayCreate([0,icount + 7],varByte);
   vTmp[0]:= ord('V');
   vTmp[1]:= ord('D');
   vTmp[2]:= icount mod 256;
   vTmp[3]:= icount div 256;
   vTmp[4]:= ord('M');
   vTmp[5]:= strtoint(ComboBox1.Text);
   vTmp[6]:= strtoint(ComboBox2.Text) mod 256;
   vTmp[7]:= strtoint(ComboBox2.Text) div 256;
 // 将memo1.text 中的内容放入vTmp[]中7位以后  ovTmp:=vTmp;
  mscomm1.output:= ovTmp; 
end;
请问注释部分的内容怎么实现?请高手指教

解决方案 »

  1.   

    问题解决了。
    var
      icount :integer;
      vTmp:variant;
      ovTmp: olevariant;
    begin
    icount := length(memo1.Text);
    //形成命令数组
       vTmp:=VarArrayCreate([0,icount + 7],varByte);
       vTmp[0]:= ord('V');
       vTmp[1]:= ord('D');
       vTmp[2]:= icount mod 256;
       vTmp[3]:= icount div 256;
       vTmp[4]:= ord('M');
       vTmp[5]:= strtoint(ComboBox1.Text);
       vTmp[6]:= strtoint(ComboBox2.Text) mod 256;
       vTmp[7]:= strtoint(ComboBox2.Text) div 256;
       ovTmp:=vTmp;
       mscomm1.output:= ovTmp
     // 将memo1.text 中的内容放入vTmp[]中7位以后  ovTmp:=memo1.text ;
      mscomm1.output:= ovTmp; 
    end;