如何将如下的vb代码转换成delphi的dll代码:
Private Sub Command1_Click()'连接
Winsock1.Close
Winsock1.Connect Text1, 502'text1中的是IP地址
Text1.Enabled = False
Command1.Enabled = False
Timer1.Enabled = True
End SubPrivate Sub Command2_Click()'断开连接
Winsock1.Close
Text1.Enabled = True
Command1.Enabled = True
Text2.Text = ""
Text3.Text = ""
Timer1.Enabled = False
End SubPrivate Sub Command3_Click()'发送数据
On Error GoTo ErrProc
Dim sendstr(11) As Byte
Dim i As Integer
Dim aStr As String
Dim strdata() As Byte
If Val(Text4.Text) < 1 Or Val(Text4.Text) > 62 Then
   MsgBox "错误,参数长度*2的范围必须为1~62"
   Exit Sub
End If
If Val(Text5.Text) < 1 Or Val(Text5.Text) > 127 Then
   MsgBox "错误,起始地址的范围必须为1~127"
   Exit Sub
End If
sendstr(0) = 0 
sendstr(1) = 0 
sendstr(2) = 0 
sendstr(3) = 0 
sendstr(4) = 0 
sendstr(5) = 6 
sendstr(6) = 1 
sendstr(7) = 3 
sendstr(8) = Val(Text5.Text) \ 256 
sendstr(9) = Val(Text5.Text) Mod 256 
sendstr(10) = (Val(Text4.Text) * 2) \ 256 
sendstr(11) = (Val(Text4.Text) * 2) Mod 256 
For i = 0 To 11
  aStr = aStr & Chr(sendstr(i))
Next
Winsock1.SendData aStr '发送数据
Exit Sub
ErrProc:
MsgBox "传输数据失败", vbCritical, "网络传输"End SubPrivate Sub Command4_Click()
End
End SubPrivate Sub winsock1_DataArrival(ByVal bytesTotal As Long)'获得数据
Dim i, j As Integer
Dim strdata() As Byte
i = Winsock1.BytesReceived '返回当前缓冲区中的字节数量
ReDim strdata(i)
Winsock1.GetData strdata, vbByte, i
For j = 0 To i - 1
    Text3.Text = Text3.Text + Hex(strdata(j)) + ","
Next
Text3.Text = Text3.Text + Chr(13) + Chr(10)
Exit Sub
End SubPrivate Sub Timer1_Timer()
Dim msg As String
Select Case Winsock1.State
       Case 0
            msg = "缺省值,关闭套接字"
       Case 1
            msg = "打开套接字"
       Case 2
            msg = "正监听端口"
       Case 3
            msg = "正在进行未定的连接"
       Case 4
            msg = "正解析主机地址"
       Case 5
            msg = "主机地址已解析"
       Case 6
            msg = "正在连接"
       Case 7
            msg = "已连接"
       Case 8
            msg = "连接关闭"
       Case 9
            msg = "错误"
End Select
Text2.Text = Text2.Text + msg + Chr(13) + Chr(10)
End Sub