读书人

vb代码翻译成delphi,该如何解决

发布时间: 2013-09-05 16:02:06 作者: rapoo

vb代码翻译成delphi
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应该怎么写,望指教
[解决办法]
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;
[解决办法]
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源码翻译的,这个是串口通讯的代码。

读书人网 >.NET

热点推荐