Public Function tx_read_frame(leixing As Byte, data1 As Byte, data2 As Byte, data3 As Byte, data4 As Byte)
   Static Byteout(0 To 7) As Byte, i As Byte    '向外发送
   Dim sum As Integer
   Byteout(0) = &H55
   Byteout(1) = 1
   Byteout(2) = leixing
   Byteout(3) = data1
   Byteout(4) = data2
   Byteout(5) = data3
   Byteout(6) = data4
   sum = 0
   For i = 0 To 6 Step 1
      sum = sum + Byteout(i)
   Next
   Byteout(7) = sum Mod 256
   main_form.MSComm1.InBufferCount = 0
   main_form.MSComm1.Output = Byteout
End Function
---
以上函数用delphi应该怎么写,望指教

解决方案 »

  1.   

    Function tx_read_frame(leixing: Byte; data1: Byte; data2: Byte; data3: Byte; data4: Byte);
    var
      Byteout: array[0..7] of Byte;
      i: Byte;//    '向外发送
      sum: Integer;
    begin
        Byteout[0] := $55;
        Byteout[1] := 1;
        Byteout[2] := leixing;
        Byteout[3] := data1;
        Byteout[4] := data2;
        Byteout[5] := data3;
        Byteout[6] := data4;
        sum := 0
        For i := 0 To 6 do
        begin
           sum := sum + Byteout[i];
        end;
        Byteout[7] := sum Mod 256;
        main_form.MSComm1.InBufferCount := 0;
        main_form.MSComm1.Output := Byteout;
     End;
      

  2.   

    var
      i : Byte; 
      Byteout: array[0..7] of Byte; //向外发送   
    procedure tx_read_frame(leixing,  data1, data2, data3, data4: Byte)
    var
      sum: Integer;
    begin
       Byteout[0] := &H55;
       Byteout[1] := 1;
       Byteout[2] := leixing;
       Byteout[3] := data1;
       Byteout[4] := data2;
       Byteout[5] := data3;
       Byteout[6] := data4;
       sum := 0;
       For i = 0 To 6 do
          sum := sum + Byteout[i];
       Byteout[7] := sum Mod 256;
       main_form.MSComm1.InBufferCount := 0;
       main_form.MSComm1.Output := Byteout;
    end;
    //唉近来怎么总有人做翻译的, 就是按你的VB源码翻译的,这个是串口通讯的代码。
      

  3.   

    就这两行代码翻译啥啊,你安装好mscomm控件之后,直接用了