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

📄 globalvar.bas

📁 提供给入门级别的GPRS编程人员
💻 BAS
📖 第 1 页 / 共 4 页
字号:
              num = indata(110)
              str14 = num
              If str14 = "0" Then
                  str14 = ""
              End If
              num = indata(111)
              str14 = str14 & num
              num = indata(112)
              str14 = str14 & "." & num
              
              '//B相电压 XXX.X(XX X X)
              num = indata(113)
              str15 = num
              If str15 = "0" Then
                  str15 = ""
              End If
              num = indata(114)
              str15 = str15 & num
              num = indata(115)
              str15 = str15 & "." & num
              
              '//C相电压 XXX.X(XX X X)
              num = indata(116)
              str16 = num
              If str16 = "0" Then
                  str16 = ""
              End If
              num = indata(117)
              str16 = str16 & num
              num = indata(118)
              str16 = str16 & "." & num
              
              '//A相电流XX.XX(XX XX)
              num = indata(119)
              str17 = num
              num = indata(120)
              str17 = str17 & "." & num
               
              '//B相电流XX.XX(XX XX)
              num = indata(120)
              str18 = num
              num = indata(121)
              str18 = str18 & "." & num
              
              '//C相电流XX.XX(XX XX)
              num = indata(122)
              str19 = num
              num = indata(123)
              str19 = str19 & "." & num
              
              '//变压器温度 XXX.X(XX X X)
              num = indata(124)
              str20 = num
              If str20 = "0" Then
                 str20 = ""
              End If
              num = indata(125)
              str20 = str20 & num
              num = indata(126)
              str20 = str20 & "." & num
              
              
              '//采集时间
             For i = 127 To 133 Step 1
                 num = indata(i)
                 If (indata(i) < 10) Then
                     str21 = str21 & "0" & num
                 Else
                     str21 = str21 & num
                 End If
             Next i
             str21 = Format(str21, "mmmm-yy-dd mm:hh:ss")
             
             '//运行情况
             num = indata(134)
             str22 = num
             
             ReDim myremsg.haltdata(0) As Byte '没有数据返回
             myremsg.haltdata(0) = 0
             str = str1 & str2 & str3 & str4 & str5 & str6 & str7 & str8 & str9 & str10 & str11 _
                   & str12 & str13 & str14 & str15 & str16 & str17 & str18 & str19 & str20 & str21 & str22
             myremsg.msginfo = str
            
             If str1 = frm_collect.txt_sim And str2 = frm_collect.txt_biaohao.Text Then '//如果采集返回正确
                 strsql = "select * from collection "
                 openrs strsql
                 rs.AddNew ' 向采集表中添加一条记录
                 With rs
                     .Fields("user_id").Value = frm_collect.txt_id
                     .Fields("user_name").Value = frm_collect.txt_name
                     .Fields("user_sim").Value = frm_collect.txt_sim
                     .Fields("user_biaohao").Value = frm_collect.txt_biaohao.Text
                     .Fields("coll_time").Value = str21
                     .Fields("ygz_power").Value = str3
                     .Fields("ygf_power").Value = str4
                     .Fields("ygp_power").Value = str5
                     .Fields("ygg_power").Value = str6
                     .Fields("wgz_power").Value = str7
                     .Fields("wgf_power").Value = str8
                     .Fields("wgp_power").Value = str9
                     .Fields("wgg_power").Value = str10
                     .Fields("pressure_A").Value = str14
                     .Fields("pressure_B").Value = str15
                     .Fields("pressure_C").Value = str16
                     .Fields("current_A").Value = str17
                     .Fields("current_B").Value = str18
                     .Fields("current_C").Value = str19
                     .Fields("lea_power").Value = str11
                     .Fields("sum_power").Value = str12
                     .Fields("power_complica").Value = str13
                     .Fields("byq_temprature").Value = str20
                     .Fields("run_status").Value = str22
                     .UpdateBatch
                 End With
                 clors
            End If '//如果采集返回正确
            GoTo exitfunction
          End If '//采集包结束
          
          '//'//接通负荷返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
           If indata(34) = 12 And indata(35) = &HC0 And indata(36) = &HA3 And UBound(indata) = 50 Then
                  '//处理SIM 卡号
                    For i = 37 To 41 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str1 = str1 & "0" & num
                        Else
                            str1 = str1 & num
                        End If
                    Next i
                    num = indata(42)
                    str1 = str1 & num
        
                    '//处理表号
                    For i = 43 To 48 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str2 = str2 & "0" & num
                        Else
                            str2 = str2 & num
                        End If
                    Next i
                    ReDim myremsg.haltdata(0) As Byte '没有数据返回
                    myremsg.haltdata(0) = 0
                    str = str1 & str2
                    myremsg.msginfo = str
                    If str1 = frm_join.txt_sim.Text And str2 = frm_join.txt_biaohao.Text Then
                       MsgBox ("接通负荷成功"), vbOKOnly + vbInformation, "提示"
                    End If
                   GoTo exitfunction
           End If '//接通负荷返回包结束
           
           '//断开负荷返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
           If indata(34) = 12 And indata(35) = &HC0 And indata(36) = &HA4 And UBound(indata) = 50 Then
                  '//处理SIM 卡号
                    For i = 37 To 41 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str1 = str1 & "0" & num
                        Else
                            str1 = str1 & num
                        End If
                    Next i
                    num = indata(42)
                    str1 = str1 & num
        
                    '//处理表号
                    For i = 43 To 48 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str2 = str2 & "0" & num
                        Else
                            str2 = str2 & num
                        End If
                    Next i
                    ReDim myremsg.haltdata(0) As Byte '没有数据返回
                    myremsg.haltdata(0) = 0
                    str = str1 & str2
                    myremsg.msginfo = str
                    If str1 = frm_cut.txt_sim.Text And str2 = frm_cut.txt_biaohao.Text Then
                       MsgBox ("断开负荷成功"), vbOKOnly + vbInformation, "提示"
                    End If
                   GoTo exitfunction
           End If '//断开负荷返回包结束
           
           '//清除终端电量返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
           If indata(34) = 12 And indata(35) = &HC0 And indata(36) = &HA5 And UBound(indata) = 50 Then
                  '//处理SIM 卡号
                    For i = 37 To 41 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str1 = str1 & "0" & num
                        Else
                            str1 = str1 & num
                        End If
                    Next i
                    num = indata(42)
                    str1 = str1 & num
        
                    '//处理表号
                    For i = 43 To 48 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str2 = str2 & "0" & num
                        Else
                            str2 = str2 & num
                        End If
                    Next i
                    ReDim myremsg.haltdata(0) As Byte '没有数据返回
                    myremsg.haltdata(0) = 0
                    str = str1 & str2
                    myremsg.msginfo = str
                    If str1 = frm_clear.txt_sim.Text And str2 = frm_clear.txt_biaohao.Text Then
                       MsgBox ("清除终端电量成功"), vbOKOnly + vbInformation, "提示"
                    End If
                    GoTo exitfunction
           End If '//清除终端电量返回包结束
           
           '//报警返回包(WD:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
           If indata(34) = 16 And indata(35) = &HC0 And indata(36) = &HA5 And UBound(indata) = 55 Then
                  '//处理SIM 卡号
                    For i = 37 To 41 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str1 = str1 & "0" & num
                        Else
                            str1 = str1 & num
                        End If
                    Next i
                    num = indata(42)
                    str1 = str1 & num
        
                    '//处理表号
                    For i = 43 To 48 Step 1
                        num = indata(i)
                        If (indata(i) < 10) Then
                            str2 = str2 & "0" & num
                        Else
                            str2 = str2 & num
                        End If
                    Next i
                    '//处理缺相报警
                    num = indata(49)
                    str3 = num
                    '//处理互感器接反报警
                    num = indata(50)
                    str4 = num
                    '//处理不足10码报警
                    num = indata(51)
                    str5 = num
                    '//处理开箱报警
                    num = indata(52)
                    str6 = num
                    '//处理异常报警
                    num = indata(53)
                    str7 = num
                    ReDim myremsg.haltdata(0) As Byte '没有数据返回
                    myremsg.haltdata(0) = 0
                    str = str1 & str2 & str3 & str4 & str5 & str6 & str7
                    myremsg.msginfo = str
                    
                    Dim strid As String
                    Dim strname As String
                    Dim strsim As String
                    Dim strbiaohao As String
                    strsql = "select user_id,user_name,user_sim,user_biao from userbasic where user_sim='" & str1 & "'"
                    openrs strsql
                    If rs.EOF Then GoTo exitfunction
                    strid = rs.Fields("user_id").Value
                    strname = rs.Fields("user_name").Value
                    strsim = rs.Fields("user_sim").Value
                    strbiaohao = rs.Fields("user_biaohao").Value
                    strsql = "select * from alarm"
                    openrs strsql
                    '//向报警表中加入一条报警信息
                    rs.AddNew
                    rs.Fields("user_id").Value = strid
                    rs.Fields("user_name").Value = strname
                    rs.Fields("user_sim").Value = strsim
                    rs.Fields("user_biaohao").Value = strbiaohao
                    rs.Fields("alarm_quexiang").Value = str3
                    rs.Fields("alarm_hgqjiefan").Value = str4
                    rs.Fields("alarm_no10").Value = str5
                    rs.Fields("alarm_opendoor").Value = str6
                    rs.Fields("alarm_unormal").Value = str7
                    rs.Fields("alarm_time").Value = Format(Now, "yyyy-mm-dd hh:mm:ss")
                    rs.UpdateBatch
                    clors
                    GoTo exitfunction
           End If '//报警返回包结束
           
        End If '//包最短长度**************************
     End If '//如果为数据中心或者终端返回的数据包

    
    
    '//不是完整的消息但可能是下次消息的一部分
    myremsg.haltdata = indata
    myremsg.msginfo = ""
    
exitfunction:
    disp_message = myremsg
End Function

            
'发送数据函数
Public Function comsenddata(ByRef indata() As Byte)
    frm_main.MSComm1.Output = indata '发送数据
    Do
        DoEvents '等待发送完毕
    Loop Until frm_main.MSComm1.OutBufferCount = 0
End Function

'以下函数By黄
'本函数写在所有的窗体
Public Sub UnloadAllFroms()
    Dim i As Integer: i = 0
    For i = VB.Forms.Count - 1 To 0 Step -1
        Unload VB.Forms(i)
    Next i
    End
End Sub

'本函数家在一个窗体到Split上去
Public Sub LoadAFormToSplit(Frm As Form)
    If Not TypeOf Frm Is Form Then Exit Sub
    
    If Frm Is CurFrm Then Exit Sub    '如果是同样一个窗体,则不家在
    
    If Not CurFrm Is Nothing Then
        CurFrm.Visible = False
        Unload CurFrm
    End If
    frm_main.SplitMain.DetachAllForms
    frm_main.SplitMain.AttachForm Frm, 0
    Frm.Show
    
    Set CurFrm = Frm
End Sub

⌨️ 快捷键说明

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