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

📄 frm_main.frm

📁 通过串口与手机模块收发短信。已经用sim100测试过
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    Else
        SendAccess = "GsmNoPacket"
        Call GsmMessage(TempString, "F5")
    End If
    
End Sub

Private Sub DirInput_Click()
    Dir_CommonRev_Way = "Dir_Input"
    TransWay = "direct"
    Toolbar1.Buttons.Item(16).Value = tbrPressed
    Frm_Input.Show
End Sub

Private Sub EnterLine_Click()
    Frm_T_EnteLine.Show
End Sub

Private Sub Form_Load()
 ReDim MessaArray(10)
 ReDim GsmSenArray(10)
 ReDim GsmRevArray(10)
   Frm_Main.WindowState = 2
   
   Gsm_CommonRev_Way = "gsmnone"
   DisJudge = True
   TransWay = "gsm"
   Call SerialInit
   Call WinSockCon
  Call GsmInitCmd
   'Call SoftReset
   Gsm_CommonRev_ends = True
   
   Toolbar1.Buttons.Item("GSM").Value = tbrPressed
   Frm_Main.ShockwaveFlash1.Movie = App.Path & "/24.swf"
   Frm_Main.ShockwaveFlash1.Stop
End Sub

Private Sub Form_Resize()
Dim Tab_Count As Integer
On Error Resume Next
 Tab_Mon.Width = Frm_Main.Width
 Tab_Mon.Top = 480
 Tab_Mon.Height = Frm_Main.Height - 1500
 Tab_Mon.Left = 0
   
For Tab_Count = 0 To Frm_Mon.Count - 1
   With Frm_Mon(Tab_Count)
      .Move Tab_Mon.ClientLeft, _
      Tab_Mon.ClientTop, _
      Tab_Mon.ClientWidth, _
      Tab_Mon.ClientHeight
      .Caption = ""
      .BorderStyle = 0
   End With
Next Tab_Count
 ShockwaveFlash1.Top = 550
 ShockwaveFlash1.Left = Frm_Main.Width / 3
 Txt_RecHex.Top = 550
 Txt_RecHex.Left = 200
 Txt_RecHex.Height = Frm_Main.Height - 2800
 Txt_RecHex.Width = Frm_Main.Width / 5 * 3
 Txt_RecAsc.Top = 550
 Txt_RecAsc.Height = Frm_Main.Height - 2800
 Txt_RecAsc.Width = Frm_Main.Width - Txt_RecHex.Width - 500
 Txt_RecAsc.Left = Txt_RecHex.Width + 200
 
 Sta_Mes.Panels(1).Width = Frm_Main.Width / 8
 Sta_Mes.Panels(3).Width = Frm_Main.Width / 8
 Sta_Mes.Panels(4).Width = Frm_Main.Width / 22
 Sta_Mes.Panels(5).Width = Frm_Main.Width / 8
 Sta_Mes.Panels(6).Width = Frm_Main.Width / 10
 Sta_Mes.Panels(2).Width = Frm_Main.Width - Sta_Mes.Panels(1).Width - Sta_Mes.Panels(6).Width - Sta_Mes.Panels(3).Width - Sta_Mes.Panels(4).Width - Sta_Mes.Panels(5).Width

Frm_Monitor.Top = Frm_Main.Top + 300
Frm_Monitor.Left = Frm_Main.Width - Frm_Monitor.Width + 500

End Sub


Private Sub MSComm1_Init()
    MSComm1.DTREnable = True
    MSComm1.InBufferCount = 1024
    
End Sub

Private Sub GPRSRev_Click()
  Toolbar1.Buttons.Item(18).Value = tbrPressed
  TransWay = "gprs"
End Sub

Private Sub GSMCommand_Click()
  Toolbar1.Buttons.Item(17).Value = tbrPressed
  TransWay = "gsm"
  Frm_CmdSend.Show
End Sub

Private Sub GSMFixTime_Click()
  Toolbar1.Buttons.Item(17).Value = tbrPressed
  TransWay = "gsm"
  Frm_TimSend.Show
End Sub

Private Sub GSMMes_Click()
  Toolbar1.Buttons.Item(17).Value = tbrPressed
  TransWay = "gsm"
  Frm_AccSend.Show
End Sub

Private Sub GSMTest_Click()
  Toolbar1.Buttons.Item(17).Value = tbrPressed
  TransWay = "gsm"
  Frm_TestSend.Show
End Sub

Private Sub MSComm1_OnComm()
 'Dim TempRev As Variant
 ' Static ProcLock As Boolean
 ' MsgBox MSComm1.CommEvent
    Select Case MSComm1.CommEvent
        
        Case comEvReceive
                 
     ' MSComm1.RThreshold = 0
              
              
               Select Case TransWay
      
                    Case "direct"
                        Call Dir_CommonRev
                    Case "gsm"
                    
                       
                            Call Gsm_CommonRev
                        
                         
                          
                    Case "gprs"
                    Case Else
                 
               End Select
              
        
     '  MSComm1.RThreshold = 1
       
'       Case comEvRing
          
'            Exit Sub
       Case Else
         'MsgBox MSComm1.CommEvent
   End Select
               
 '   End Select
   
    
    
End Sub

Private Sub Sta_Mes_PanelDblClick(ByVal Panel As MSComctlLib.Panel)
    
        Static Frm_Mon_Sta As Boolean
    
            Select Case Panel.Key
               Case "time"
                  Frm_Mon_Sta = Not Frm_Mon_Sta
                  If Frm_Mon_Sta = True Then
                  Frm_Monitor.Show
                  SetWindowPos Frm_Monitor.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE
                  Frm_Monitor.Top = Frm_Main.Top + 300
                  Frm_Monitor.Left = Frm_Main.Width - Frm_Monitor.Width + 500
                  
                  Else
                  Frm_Monitor.Hide
                  End If
            End Select
              
End Sub

Private Sub T_CmdSenPro_Timer()   '无响应终止时钟
     
     'Gsm_CommonRev_Way = "gsmnone"
End Sub

Private Sub T_ConSer_Timer()
    ConSerAcc = True
    T_ConSer.Enabled = False
    Sta_Mes.Panels.Item(2).Text = "连接主机失败"
    Sta_Mes.Panels.Item(4).Text = "断  开"
    T_Mes_End = True
End Sub



Private Sub T_Enter_Line_Timer()
     Txt_RecHex = Txt_RecHex & vbCrLf & vbCrLf
     Txt_RecAsc = Txt_RecAsc & vbCrLf & vbCrLf
End Sub

Private Sub T_GSM_Reset_Timer()
Static T_GSM_Reset_Counter As Integer
   T_GSM_Reset_Counter = T_GSM_Reset_Counter - 1
   If T_GSM_Reset_Counter = 0 Then
 Gsm_CommonRev_Way = "gsmnone"
     GSM_Reset_ResWaitSuc = True
     GSM_Reset_ProcessOver = True
     T_GSM_Reset = False
     End If
End Sub

Private Sub T_Gsm_Rev_Reset_Timer()
  Gsm_CommonRev_Way = "gsmnone"
     GSM_Reset_ResWaitSuc = True
     GSM_Reset_ProcessOver = True
     T_Gsm_Rev_Reset = False
End Sub

Private Sub T_GsmInit_Timer()
     'Gsm_MesInit = False
     Gsm_CommonRev_Way = "gsmnone"
     GsmInitCmd_ProcessOver = True
     GsmInitCmd_ResWaitSuc = True
     T_GsmInit.Enabled = False
     
End Sub

Private Sub T_GSM_CmdSenPro_Timer()   '发送超时控制
     Gsm_CommonRev_Way = "gsmnone"
     GSM_Cmd_ResWaitSuc = True
      GSM_Cmd_ProcessOver = True
     T_GSM_CmdSenPro = False
End Sub



Private Sub T_Mes_End_Timer()
     Sta_Mes.Panels.Item(2).Text = ""
     T_Mes_End.Enabled = False
End Sub

Private Sub T_MesInitSenCmd_Timer()
       'Gsm_MesInit = False
       Gsm_CommonRev_Way = "gsmnone"
       GsmInitCmd_ResWaitSuc = True
       GsmInitCmd_ProcessOver = True
       T_MesInitSenCmd.Enabled = False
       
End Sub


Private Sub T_MesSenOk_Timer()
  MesSenOk = True
  T_MesSenOk.Enabled = False
End Sub

Private Sub T_GSM_MesSenStr_Timer()   '接受数据超时控制
      Gsm_CommonRev_Way = "gsmnone"
      GSM_Str_ProcessOver = True
      'GSM_MesSenStr = False
      GSM_Str_ResWaitSuc = True
      T_GSM_MesSenStr.Enabled = False
       
      
End Sub

Private Sub T_MesSenStr_Timer()

End Sub

Private Sub T_ReConWin_Timer()
   If Client.State <> 7 Then
      Call WinSockCon
   Else
     Sta_Mes.Panels.Item(2).Text = "连接主机成功"
     Sta_Mes.Panels.Item(4).Text = "连  接"
     T_Mes_End = True
     T_ReConWin = False
   End If
End Sub


Private Sub T_Gsm_StrSenPro_Timer()  '发送数据超时控制
     Gsm_CommonRev_Way = "gsmnone"
     GSM_Str_ResWaitSuc = True
     GSM_Str_ProcessOver = True
     T_Gsm_StrSenPro = False
     'Gsm_MesSenStr = False
     'Gsm_CommonRev_Way = "gsmnone"
End Sub

Private Sub T_WinSockPro_Timer()
    WaitSenSuc = True
    T_WinSockPro = False
End Sub

Private Sub Tab_Mon_Click()
Frm_Mon(Tab_Mon.SelectedItem.Index - 1).ZOrder 0
End Sub



Private Sub TimerMessa_Timer()
    
   Dim i11 As Integer
   Dim i12 As Integer
   Dim i13 As Integer
   Dim i15 As Integer
   Dim i16 As Integer
  
   i13 = 1
   
    If MesArray > 0 Then
            
        For i11 = 0 To UBound(MessaArray)  '寻找一个有效的队列号
             i12 = MessaArray(i11).MesOrd
             
            If i12 >= i13 Then
               i15 = i12
               i16 = i11
               Exit For
            End If
            
        Next i11
        
        For i11 = 0 To UBound(MessaArray)  '寻找最小的队列号
             i12 = MessaArray(i11).MesOrd
             
           If i12 < i15 And i12 > 0 Then
             i15 = i12
             i16 = i11
           End If
        
            
        Next i11
        
         
       
        Sta_Mes.Panels.Item(2).Text = MessaArray(i16).Message
        MessaArray(i16).Message = ""
        MessaArray(i16).MesOrd = 0
        MessaArray(i16).MesVal = False
        MesArray = MesArray - 1
        
            If MesArray = 0 Then
              T_Mes_End.Enabled = True
              TimerMessa.Enabled = False
            End If
       End If
    
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
     Select Case Button.Key
   Case "Open"
      
   Case "save"
      
   Case "set"
       Frm_Set.Show
   Case "Test"
       Frm_TestSend.Show
   Case "access"
       Frm_AccSend.Show
   Case "time"
       Frm_TimSend.Show
   Case "command"
       Frm_CmdSend.Show
   Case "protocal"
       Frm_Pro.Show
   Case "connect"
   
   Case "GsmInit"
       
       Call SoftReset
       
   Case "disconnect"
   
   Case "display"
      If Button.Value = tbrPressed Then
      DisJudge = True
      Else
      DisJudge = False
      End If
   Case "EnterLine"
      If Button.Value = tbrPressed Then
       
      T_Enter_Line = True
      Else
      T_Enter_Line = False
      End If
  Case "Serial"
      TransWay = "direct"
  Case "GSM"
      TransWay = "gsm"
  Case "GPRS"
      TransWay = "gprs"
   End Select

End Sub

Private Sub Txt_RecAsc_Change()
   Txt_RecAsc.SelStart = Len(Txt_RecAsc)
End Sub

Private Sub Txt_RecAsc_DblClick()
    Txt_RecAsc = ""
End Sub

Private Sub Txt_RecHex_Change()
   Txt_RecHex.SelStart = Len(Txt_RecHex)
End Sub
Private Sub WinSockCon()
 'ConAndDis 为 true 时 为连接状态
  
   
      If Client.State <> 0 Then
         Client.Close
      End If
      Client.RemoteHost = GetINI("ServerIp", "SerIp", App.Path & "\sysini\sys.ini")
      Client.RemotePort = 2001
      Client.Connect
      
  'T_ConSer.Enabled = True
  
  '    Do While (Client.State <> 7 And Not ConSerAcc)
   '        DoEvents
   '   Loop
      
  'T_ConSer.Enabled = False
         
         If Client.State = 7 Then
         
              'ConAndDis = Not ConAndDis
              T_ReConWin = False
              Sta_Mes.Panels.Item(2).Text = "连接主机成功"
              Sta_Mes.Panels.Item(4).Text = "连  接"
              T_Mes_End = True
              
            'T_Test_Con = True
            'Cmd_Con.BackColor = &HFF00&
            ' Cmd_Con.Caption = "断  开"
          Else
               Sta_Mes.Panels.Item(2).Text = "连接主机失败"
               T_Mes_End = True
               Sta_Mes.Panels.Item(4).Text = "断  开"
               'ConSerAcc = False
               T_ReConWin = True
          End If
      
        
   
End Sub

Private Sub Txt_RecHex_DblClick()
   Txt_RecHex = ""
End Sub

⌨️ 快捷键说明

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