📄 师生对话[主机].frm
字号:
End
Begin MSWinsockLib.Winsock SockSent
Index = 17
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 18
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 19
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 20
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 21
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 22
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 23
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 24
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 25
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 26
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 27
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 28
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 29
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin MSWinsockLib.Winsock SockSent
Index = 30
Left = 0
Top = 0
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
Begin VB.Timer Timer2
Interval = 100
Left = 840
Top = 0
End
End
Attribute VB_Name = "师生对话"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim YLinkN(1 To 24), YnowN(1 To 24), REQUEST, ExitAble As Boolean
Dim WHOTALK(1 To 24) As Boolean
Dim SingleTalk, M As Integer
Private Sub AllChat_Change()
If Len(AllChat.Text) > 30000 Then
Open App.Path & "\Chat" & Date & "-" & Left("0" & Time, 2) & "-" & M & ".txt" For Output As #1 ' 打开文件。
Print #1, AllChat.Text
M = M + 1
Close #1 ' 关闭文件
AllChat.Text = ""
End If
End Sub
Private Sub C_Click(Index As Integer)
If Option2.Value = True Then WHOTALK(Index) = (C(Index).Value = Checked)
If Option3.Value = True And C(Index).Value = Checked Then M = Index
End Sub
Private Sub CL_Change()
Talk.Text = CL.Text
Talk.SetFocus
End Sub
Private Sub CL_Click()
Talk.Text = CL.Text
Talk.SetFocus
End Sub
'Private Sub Command1_Click()
'Dim UseDbs As Database
'Set UseDbs = OpenDatabase(App.Path & "\聊天动态数据库.mdb")
'UseDbs.Execute "insert into ConnectState values('4000','否','345');"
'UseDbs.Close
'End Sub
Private Sub Command1_Click()
Command2.Enabled = True
REQUEST = True
Command1.Enabled = False
End Sub
Private Sub Command2_Click()
Command1.Enabled = True
REQUEST = False
Command2.Enabled = False
End Sub
Private Sub Command3_Click()
Open App.Path & "\Chat" & Date & "-" & Left("0" & Time, 2) & "-" & M & ".txt" For Output As #1 ' 打开文件。
Print #1, AllChat.Text
M = M + 1
Close #1 ' 关闭文件
End Sub
Private Sub Command4_Click()
On Error GoTo SDSD
If Talk.Text <> "" Then
Dim I As Integer
For I = 1 To 24
If YLinkN(I) = True And C(I) = Checked Then
DoEvents
Sleep (50)
SockSent(I).SendData "师:" & Talk.Text
SinChat.Text = "师:" & Talk.Text & "[" & Time & "]" & Chr(13) & Chr(10) & SinChat.Text
AllChat.Text = "师:" & Talk.Text & "[" & Time & "]" & Chr(13) & Chr(10) & AllChat.Text
End If
Next I
Talk.SelStart = 0: Talk.SelLength = Len(Talk.Text)
End If
Exit Sub
SDSD:
YLinkN(I) = False: L(I).Caption = Right("0" & I, 2) & ":" & "OFF": L(I).ForeColor = RGB(255, 0, 0): C(I).Enabled = False
End Sub
Private Sub Command5_Click()
Open App.Path & "\Chat" & Date & "-" & Left("0" & Time, 2) & "-" & M & ".txt" For Output As #1 ' 打开文件。
Print #1, SinChat.Text
M = M + 1
Close #1 ' 关闭文件
End Sub
Private Sub Command6_Click()
Command2.Enabled = True
REQUEST = True
Command1.Enabled = False
For I = 1 To 24
YLinkN(I) = False: L(I).ForeColor = RGB(255, 0, 0): L(I).Caption = Right("0" & I, 2) & ":" & "OFF": C(I).Enabled = False
Next I
End Sub
Private Sub Form_Load()
SingleTalk = 1: ExitAble = False: M = 0
Dim I As Integer
For I = 1 To 24
YLinkN(I) = False: L(I).ForeColor = RGB(255, 0, 0): L(I).Caption = Right("0" & I, 2) & ":" & "OFF": C(I).Enabled = False
Next I
REQUEST = False
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Command1_Click
If ExitAble <> True Then ExitAble = True: Cancel = 2
End Sub
Private Sub Option1_Click()
Dim I As Integer
For I = 1 To 24
C(I).Value = Checked
Next I
End Sub
Private Sub Option2_Click()
Dim I As Integer
For I = 1 To 24
If WHOTALK(I) = True Then C(I).Value = Checked
If WHOTALK(I) = False Then C(I).Value = Unchecked
Next I
End Sub
Private Sub Option3_Click()
Dim I As Integer
For I = 1 To 24
If M = I Then
C(I).Value = Checked
Else
C(I).Value = Unchecked
End If
Next I
End Sub
Private Sub SinChat_Change()
If Len(SinChat.Text) > 30000 Then
Open App.Path & "\Chat" & Date & "-" & Left("0" & Time, 2) & "-" & M & ".txt" For Output As #1 ' 打开文件。
Print #1, SinChat.Text
M = M + 1
Close #1 ' 关闭文件
SinChat.Text = ""
End If
End Sub
Private Sub SockSent_Close(Index As Integer)
SockSent(Index).Close
YLinkN(Index) = False: L(Index).Caption = Right("0" & Index, 2) & ":" & "OFF": L(Index).ForeColor = RGB(255, 0, 0): C(Index).Enabled = False
'SockSent(Index).Connect
End Sub
Private Sub SockSent_DataArrival(Index As Integer, ByVal bytesTotal As Long)
On Error GoTo SSSS
Dim SourceL, DistanceR As String
Dim AcepData As String
SockSent(Index).GetData AcepData
YLinkN(Index) = True
DistanceR = Right(AcepData, 2): SourceL = Left(AcepData, 2)
If Right(DistanceR, 1) = "师" Then
SinChat.Text = SourceL & Right(Left(AcepData, Len(AcepData) - 1), Len(AcepData) - 3) & "[" & Time & "]" & Chr(13) & Chr(10) & SinChat.Text
AllChat.Text = SourceL & Right(Left(AcepData, Len(AcepData) - 1), Len(AcepData) - 3) & "[" & Time & "]" & Chr(13) & Chr(10) & AllChat.Text
Else
AllChat.Text = SourceL & " to " & DistanceR & ":" & Right(Left(AcepData, Len(AcepData) - 2), Len(AcepData) - 4) & "[" & Time & "]" & Chr(13) & Chr(10) & AllChat.Text
If YLinkN(DistanceR) = True Then SockSent(DistanceR).SendData Left(AcepData, Len(AcepData) - 2)
End If
L(Index).Caption = Right("0" & Index, 2) & ":" & "ON": L(Index).ForeColor = RGB(0, 255, 0): C(Index).Enabled = True
Exit Sub
SSSS:
YLinkN(DistanceR) = False: L(DistanceR).Caption = Right("0" & DistanceR, 2) & ":" & "OFF": L(DistanceR).ForeColor = RGB(255, 0, 0): C(DistanceR).Enabled = False
End Sub
Private Sub Timer1_Timer()
If REQUEST = True Then Exit Sub
On Error GoTo GGGG
If YLinkN(1) = False Then SockSent(1).Close: SockSent(1).RemoteHost = "192.168.0.1": SockSent(1).RemotePort = 3050: SockSent(1).Connect
If YLinkN(2) = False Then SockSent(2).Close: SockSent(2).RemoteHost = "192.168.0.2": SockSent(2).RemotePort = 3100: SockSent(2).Connect
If YLinkN(3) = False Then SockSent(3).Close: SockSent(3).RemoteHost = "192.168.0.3": SockSent(3).RemotePort = 3150: SockSent(3).Connect
If YLinkN(4) = False Then SockSent(4).Close: SockSent(4).RemoteHost = "192.168.0.4": SockSent(4).RemotePort = 3200: SockSent(4).Connect
If YLinkN(5) = False Then SockSent(5).Close: SockSent(5).RemoteHost = "192.168.0.5": SockSent(5).RemotePort = 3250: SockSent(5).Connect
If YLinkN(6) = False Then SockSent(6).Close: SockSent(6).RemoteHost = "192.168.0.6": SockSent(6).RemotePort = 3300: SockSent(6).Connect
If YLinkN(7) = False Then SockSent(7).Close: SockSent(7).RemoteHost = "192.168.0.7": SockSent(7).RemotePort = 3350: SockSent(7).Connect
If YLinkN(8) = False Then SockSent(8).Close: SockSent(8).RemoteHost = "192.168.0.8": SockSent(8).RemotePort = 3400: SockSent(8).Connect
If YLinkN(9) = False Then SockSent(9).Close: SockSent(9).RemoteHost = "192.168.0.9": SockSent(9).RemotePort = 3450: SockSent(9).Connect
If YLinkN(10) = False Then SockSent(10).Close: SockSent(10).RemoteHost = "192.168.0.10": SockSent(10).RemotePort = 3500: SockSent(10).Connect
'If YLinkN(11) = False Then SockSent(11).Close: SockSent(11).RemoteHost = "192.168.0.11": SockSent(11).RemotePort = 3550: SockSent(11).Connect
'If YLinkN(12) = False Then SockSent(12).Close: SockSent(12).RemoteHost = "192.168.0.12": SockSent(12).RemotePort = 3600: SockSent(12).Connect
'If YLinkN(13) = False Then SockSent(13).Close: SockSent(13).RemoteHost = "192.168.0.13": SockSent(13).RemotePort = 3650: SockSent(13).Connect
'If YLinkN(14) = False Then SockSent(14).Close: SockSent(14).RemoteHost = "192.168.0.14": SockSent(14).RemotePort = 3700: SockSent(14).Connect
'If YLinkN(15) = False Then SockSent(15).Close: SockSent(15).RemoteHost = "192.168.0.15": SockSent(15).RemotePort = 3750: SockSent(15).Connect
'If YLinkN(16) = False Then SockSent(16).Close: SockSent(16).RemoteHost = "192.168.0.16": SockSent(16).RemotePort = 3800: SockSent(16).Connect
'If YLinkN(17) = False Then SockSent(17).Close: SockSent(17).RemoteHost = "192.168.0.17": SockSent(17).RemotePort = 3850: SockSent(17).Connect
'If YLinkN(18) = False Then SockSent(18).Close: SockSent(18).RemoteHost = "192.168.0.18": SockSent(18).RemotePort = 3900: SockSent(18).Connect
'If YLinkN(19) = False Then SockSent(19).Close: SockSent(19).RemoteHost = "192.168.0.19": SockSent(19).RemotePort = 3950: SockSent(19).Connect
'If YLinkN(20) = False Then SockSent(20).Close: SockSent(20).RemoteHost = "192.168.0.20": SockSent(20).RemotePort = 4000: SockSent(20).Connect
'If YLinkN(21) = False Then SockSent(21).Close: SockSent(21).RemoteHost = "192.168.0.21": SockSent(21).RemotePort = 4050: SockSent(21).Connect
'If YLinkN(22) = False Then SockSent(22).Close: SockSent(22).RemoteHost = "192.168.0.22": SockSent(22).RemotePort = 4100: SockSent(22).Connect
'If YLinkN(23) = False Then SockSent(23).Close: SockSent(23).RemoteHost = "192.168.0.23": SockSent(23).RemotePort = 4150: SockSent(23).Connect
'If YLinkN(24) = False Then SockSent(24).Close: SockSent(24).RemoteHost = "192.168.0.24": SockSent(24).RemotePort = 4200: SockSent(24).Connect
If ExitAble = True Then Unload Me
GGGG:
End Sub
Private Sub Timer2_Timer()
T.Caption = Right("0" & Time, 8)
End Sub
Private Function LenStr(Source As String) As String
Dim SLength, I, J As Integer
Dim GG As Boolean
GG = False
J = 0
SLength = Len(Source)
For I = 1 To SLength
If Asc(Right(Left(Source, I), 1)) > 255 Or Asc(Right(Left(Source, I), 1)) < 0 Then LenStr = Left(Source, J): GG = True: Exit For
J = J + 1
Next I
If GG = False Then LenStr = Source
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -