⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 多达5路DTu的信息接收客户端
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "Module1"
Public SerMod(1 To 5, 1 To 6) As Boolean
Public SerTongDao(1 To 5, 0 To 7) As Boolean
Public sDianId(1 To 5, 1 To 2) As String '定义1-5号DTU SIM卡号数据与序号
Public isSort As Boolean '是否按照DTU SIM卡号排序
Public iTimer As Long    '总循环间隔
Public sXinTiao As String '心跳包内容
Public iXinTiao As Integer '心跳间隔时间 秒
Public iWaitTime As Integer '等待数据返回时间 秒
Public isReCommand As Boolean '是否接受命令行命令
Public isUseRemote As Boolean '是否启用远程监测
Public RemoteUrl As String '远程检测服务器地址
Public RemoteTime As Integer
Public isUseClose As Boolean '是否启用延时断线
Public iCloseTime As Integer '延时断线间隔时间

Private FormOldWidth As Long
   '保存窗体的原始宽度
Private FormOldHeight As Long
   '保存窗体的原始高度

'生成配置文件与默认配置
Public Sub CreateIni(iType As Integer)
On Error GoTo Errs
    Select Case iType
        Case 1
            Open App.Path & "\" & "SimId.Dtu" For Output As #1
                Print #1, "1=13812345601"
                Print #1, "2=13812345602"
                Print #1, "3=13812345603"
                Print #1, "4=13812345604"
                Print #1, "5=13812345605"
            Close #1
        
        Case 2
            Open App.Path & "\" & "ModTd.Dtu" For Output As #2
                Print #2, "1"
                Print #2, "1"
                Print #2, "1"
                Print #2, "1"
                Print #2, "1"
                Print #2, "0"
                Print #2, "0"
                Print #2, "0"
                Print #2, "0"
                Print #2, "0"
                Print #2, "-1"
            Close #2
            
        Case 3
            Open App.Path & "\" & "Setup.Dtu" For Output As #3
                Print #3, "1"
                Print #3, "3"
                Print #3, "xintiao"
                Print #3, "60"
                Print #3, "-1"
                Print #3, "服务器地址"
                Print #3, "10"
                Print #3, "-1"
                Print #3, "-1"
                Print #3, "60"
            Close #3
    End Select
    Exit Sub
Errs:
    Call ShowError(App.Title, "CreateIni", ERR.Number, ERR.Description)
End Sub

'读取全局设置
Public Sub LoadSetup()
On Error GoTo Errs
    Dim x, y, z As Integer
    Dim sTemp As String
    
    If Dir(App.Path & "\" & "SimId.Dtu") = "" Then Call CreateIni(1)
    Open App.Path & "\" & "SimId.Dtu" For Input As #1
        Do While Not EOF(1)
            x = x + 1
            Line Input #1, sTemp
            Dim sSim() As String
            
            sSim() = Split(sTemp, "=", -1)
            sDianId(x, 1) = sSim(0) '序号
            sDianId(x, 2) = sSim(1) 'Sim卡号码
        Loop
    Close #1
    
    If Dir(App.Path & "\" & "ModTd.Dtu") = "" Then Call CreateIni(2)
    Open App.Path & "\" & "ModTd.Dtu" For Input As #2
        Do While Not EOF(2)
            y = y + 1
            Line Input #2, sTemp
            Select Case y
                Case 1
                    For x = 1 To 6
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerMod(1, x) = True
                        Else
                            SerMod(1, x) = False
                        End If
                    Next
                Case 2
                    For x = 1 To 6
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerMod(2, x) = True
                        Else
                            SerMod(2, x) = False
                        End If
                    Next
                Case 3
                    For x = 1 To 6
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerMod(3, x) = True
                        Else
                            SerMod(3, x) = False
                        End If
                    Next
                Case 4
                    For x = 1 To 6
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerMod(4, x) = True
                        Else
                            SerMod(4, x) = False
                        End If
                    Next
                Case 5
                    For x = 1 To 6
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerMod(5, x) = True
                        Else
                            SerMod(5, x) = False
                        End If
                    Next
                Case 6
                    For x = 0 To 7
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerTongDao(1, x) = True
                        Else
                            SerTongDao(1, x) = False
                        End If
                    Next
                Case 7
                    For x = 0 To 7
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerTongDao(2, x) = True
                        Else
                            SerTongDao(2, x) = False
                        End If
                    Next

                Case 8
                    For x = 0 To 7
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerTongDao(3, x) = True
                        Else
                            SerTongDao(3, x) = False
                        End If
                    Next

                Case 9
                    For x = 0 To 7
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerTongDao(4, x) = True
                        Else
                            SerTongDao(4, x) = False
                        End If
                    Next

                Case 10
                    For x = 0 To 7
                        If InStr(1, sTemp, CStr(x)) > 0 Then
                            SerTongDao(5, x) = True
                        Else
                            SerTongDao(5, x) = False
                        End If
                    Next
                Case 11
                    If CInt(Trim(sTemp)) = -1 Then
                        isSort = True
                    Else
                        isSort = False
                    End If
            End Select
        Loop
    Close #2
    
    If Dir(App.Path & "\" & "Setup.Dtu") = "" Then Call CreateIni(3)
    Open App.Path & "\" & "Setup.Dtu" For Input As #3
        Do While Not EOF(3)
            z = z + 1
            Line Input #3, sTemp
            Select Case z
                Case 1
                    iTimer = CInt(Trim(sTemp))
                Case 2
                    iWaitTime = CInt(Trim(sTemp))
                Case 3
                    sXinTiao = Trim(sTemp)
                Case 4
                    iXinTiao = CInt(Trim(sTemp))
                Case 5
                    If CInt(Trim(sTemp)) = -1 Then
                        isReCommand = True
                    Else
                        isReCommand = False
                    End If
                Case 6
                    RemoteUrl = Trim(sTemp)
                Case 7
                    RemoteTime = CInt(Trim(sTemp))
                Case 8
                    If CInt(Trim(sTemp)) = -1 Then
                        isUseRemote = True
                    Else
                        isUseRemote = False
                    End If
                Case 9
                    If CInt(Trim(sTemp)) = -1 Then
                        isUseClose = True
                    Else
                        isUseClose = False
                    End If
                Case 10
                    iCloseTime = CInt(sTemp)
            End Select
        Loop
    Close #3
    Exit Sub
Errs:
    Call ShowError(App.Title, "LoadSetup", ERR.Number, ERR.Description)
End Sub

'保存全局设置

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -