📄 tcpip.txt
字号:
Public Declare Function gettickcount Lib "kerne132" () As Long
Public ptraddress As Integer
Public ctrloutvalue As Integer
Public okflag As Boolean
Public responsedata As String
Sub TimeDelay(TT As Long)
Dim t As Long
t = GetTickCount()
Do
DoEvents
If GetTickCount - t < 0 Then t = GetTickCount
Loop Until GetTickCount - t >= TT
End Sub
'''''''''''''''''''''''''''''
'简单地执行传送指令
''''''''''''''''''''''''''''''
Private Sub Command1_Click()
TCPOutput "LPTDOUT" & txtoutput.Text & vbCr '送出指令
End Sub
''''''''''''''''''''''''''''''
'关闭连接并结束程序
'''''''''''''''''''''''''''''
Private Sub Command2_Click()
Winsock1.Close '关闭连接
End '结束程序
End Sub
''''''''''''''''''''''''''''''''''''''''''''
'设置连接参数
'执行连接动作
'''''''''''''''''''''''''''''''''''''''''''
Private Sub Command3_Click()
Dim i%
'检查状态,若不是关闭,则执行关闭
If Winsock1.State <> 0 Then Winsock1.Close
'设置远程的地址及通信端口号码
Winsock1.RemoteHost = txtIP.Text
Winsock1.RemotePort = txtPort.Text
Winsock1.Connect '执行连接
TimeDelay 100
'循环等待连接成功
Do
DoEvents
Loop Until Winsock1.State = sckConnected
Me.Caption = "已连接"
'以下将传输数据的Check Box及按钮致能
For i = 0 To 7
ctrlout(i).Enabled = True
Next i
Command1.Enabled = True
End Sub
'''''''''''''''''''''''''''''''''''''
'将check box 的状态设成数值
'并将此值送出
''''''''''''''''''''''''''''''''''''
Private Sub ctrlout_click(Index As Integer)
If ctrlout(Index).Value = 1 Then '该控制核取框是否被核取?
CtrlOutValue = CtrlOutValue Or 2 ^ Index '若选中则将该位置的输出变量值设置为1
Else
CtrlOutValue = CtrlOutValue And (255 - 2 ^ Index) '否则设置为0
End If
TCPOutput "LPTDOUT " & CStr(CtrlOutValue) & vbCr '再将变量值送到指定的打印机地址上
End Sub
'''''''''''''''''''''''''''''''''''''''
'窗体加载
''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
Dim i%
CtrlOutValue = 0 '将控制数值预设为0
'以下将传输数据的Check Box及按钮禁能
'避免在还没有打开前就传送数据
For i = 0 To 7
ctrlout(i).Enabled = False
Next i
Command1.Enabled = False
End Sub
'''''''''''''''''''''''''''''''''''''''''''
'简单地执行传送指令
'''''''''''''''''''''''''''''''''''''''''''
Function TCPOutput(cmd As String) As String
'传送控制指令
Winsock1.SendData cmd
End Function
'''''''''''''''''''''''''''''''''''''''''''''
'当连接一端中止连接时,便会引发以下的事件
'我们将连接关闭,并作适当处理
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Winsock1_Close()
Dim i%
txtresult.Text = txtresult.Text & "对方要求中断。" & vbCr
Winsock1.clolse '中断连接
'因已中断,故以下将传输数据的Check Box及按钮禁能
For i = 0 To 7
ctrlout(i).Enabled = False
Next i
Command1.Enabled = False
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''
'控件收到对方送来的数据时,会引发以下的事件
'我们将数据收到后,显示在文本框中
'''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata '接收数据
ResPonseData = strdata
txtresult.Text = txtresult.Text & ResPonseData '显示数据
txtresult.SelLength = Len(txtresult.Text)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -