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

📄 frmmain.frm

📁 手机短心控制接收发射程序,通过串口与手机连接,
💻 FRM
📖 第 1 页 / 共 5 页
字号:
            Me.MSComm1.Output = "AT+CBC?" & vbCr
        Case "信号强度"
            Me.MSComm1.Output = "AT+CSQ?" & vbCr
        Case "fControl"
            Me.MSComm1.Output = "AT+CPBS=" & Chr(34) & "ME" & Chr(34) & vbCr    '选择不同的记忆体上存储的电话簿
        Case "tControl"
            Me.MSComm1.Output = "AT+CPBS=" & Chr(34) & "RC" & Chr(34) & vbCr    '选择不同的记忆体上存储的电话簿
        Case "Control"
            Me.MSComm1.Output = "AT+CPBR=10,10" & vbCr    '读存储的电话簿"
    End Select
   
    Exit Sub
Err1:
    MsgBox "检查手机是否正确连接!" & vbCr & "[" & Err.Description & "]", vbCritical, "提示"
    If frmSentB = True Then
        frmSentB = False
    End If
    If frmPhoneB = True Then
        frmPhoneB = False
    End If
End Sub

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
    Call TreeViewNodeClick(Node.Text)
End Sub

Private Sub TreeViewNodeClick(nodeTxt As String)
On Error Resume Next
Dim comNO As Integer
Dim telClass() As String
Dim telClassNum As Integer
Dim i As Integer



    telClassNum = Me.cboClassify.ListCount
    
    ReDim telClass(i) As String
    
    For i = 0 To telClassNum - 1
        telClass(i) = Me.cboClassify.List(i)
    Next i

    ListViewSel(0) = ""         '短信编号
    ListViewSel(1) = ""         'ListView选择行序号
    comStatue = ""
    Me.StatusBar1.Panels(3).Text = ""
    ListView1.ListItems.Clear
        Me.DBGrid1.Visible = False
        Me.DBGrid2.Visible = False
        Me.cboClassify.Visible = False
        Data1.Recordset.Close
        Data2.Recordset.Close
        Me.ListView1.Visible = False
Select Case nodeTxt
    'Case "我的信箱"
    '    comNO = 1
    '    comStatue = "RecAll"
    '    popMenuChoose = "smsMenu"
    '    Me.DBGrid1.Visible = False
    '    Me.ListView1.Visible = True
    Case "未读短信"
        comNO = 3
        comStatue = "RecUnRead"
        Call lViewHDChange("时间", "发送者", "手机号码", "未读短信内容")
        Call lViewWChange(2000, 1500, 2000, 20000, 700)
        popMenuChoose = "smsMenu"
        Me.ListView1.Visible = True
    Case "已读短信"
        comNO = 2
        comStatue = "RecRead"
        Call lViewHDChange("时间", "发送者", "手机号码", "已读短信内容")
        Call lViewWChange(2000, 1500, 2000, 20000, 700)
        popMenuChoose = "smsMenu"
        Me.ListView1.Visible = True
    Case "已发短信"
        comNO = 4
        comStatue = "StoSent"
        Call lViewHDChange("时间", "接收者", "手机号码", "发送短信内容")
        Call lViewWChange(2000, 1500, 2000, 20000, 700)
        popMenuChoose = "smsMenu"
        Me.ListView1.Visible = True
    Case "未发短信"
        comNO = 5
        comStatue = "StoUnSent"
        Call lViewHDChange("时间", "接收者", "手机号码", "发送短信内容")
        Call lViewWChange(2000, 1500, 2000, 20000, 700)
        popMenuChoose = "smsMenu"
        Me.ListView1.Visible = True
    'Case "我的通讯簿"
    '    popMenuChoose = "phoneBookMenu"
    '    Me.DBGrid1.Visible = False
    '    Me.ListView1.Visible = True
    Case "所有联系人(M)"
        comNO = 8
        comStatue = "rPhoneBook"
        Call lViewHDChange("位置", "姓名", "手机号码", "备注")
        Call lViewWChange(700, 1500, 2000, 700, 1)
        popMenuChoose = "phoneBookMenuP"
        Me.ListView1.Visible = True
    'Case "所有联系人(D)", "亲人", "同学", "同事", "重要人士", "合作伙伴", "其它", "朋友"
    '    comStatue = ""
    '    'Call lViewHDChange("位置", "姓名", "手机号码", "分类")
    '    'Call lViewWChange(700, 1500, 2000, 1400, 1)
    '    popMenuChoose = "phoneBookMenuD"
    '    Me.DBGrid1.Visible = True
    '    Call listViewVD(nodeTxt, "mobile")
    Case "接收短信", "发送短信"
        comStatue = ""
        'Call lViewHDChange("时间", "手机号码", "短信内容", "Mem")
        'Call lViewWChange(700, 1500, 3400, 1, 1)
        popMenuChoose = "phoneBookMenuD"
        Me.DBGrid2.Visible = True
        Call listViewVD(nodeTxt, "dataSms")
        
    Case Else
    For i = 0 To telClassNum
        If nodeTxt = telClass(i) Then '"所有联系人(D)", "亲人", "同学", "同事", "重要人士", "合作伙伴", "其它", "朋友"
            comStatue = ""
            popMenuChoose = "phoneBookMenuD"
            Me.DBGrid1.Visible = True
            Call listViewVD(nodeTxt, "mobile")
            Exit Sub
        End If
    Next i
End Select

    Call rs232(comStatue, comNO)
    
'改变ListView快捷菜单 "显示时间"
    If comStatue = "RecUnRead" Or comStatue = "RecRead" Then
        Me.Pmenu.Item(5).Enabled = True
    Else
        Me.Pmenu.Item(5).Enabled = False
    End If
End Sub

Private Sub listViewVD(op As String, delData As String)
    Dim strSearch As String
    Dim itmX As ListItem
    Dim i As Integer
    If delData = "mobile" Then
        If op = "所有联系人(D)" Then
            strSearch = "phonebook"
        Else
            strSearch = "select * from phonebook where classify='" & op & "'"
        End If
        Data1.RecordSource = strSearch
        Data1.Refresh
    Else
        If op = "接收短信" Then
            strSearch = "select * from readsms"
        Else
            strSearch = "select * from sentsms"
        End If
        Data2.RecordSource = strSearch
        Data2.Refresh
    End If
    'If op = "其它" Then strSearch = "select * from phonebook where classify<> '亲人'and classify<> '同学' and classify<> '同事' and classify<> '重要人士' and classify<> '合作伙伴' and  classify<> '朋友' or isnull(classify)"
End Sub

Private Sub lViewHDChange(h1 As String, h2 As String, h3 As String, h4 As String)
    Me.ListView1.ColumnHeaders(1).Text = h1
    Me.ListView1.ColumnHeaders(2).Text = h2
    Me.ListView1.ColumnHeaders(3).Text = h3
    Me.ListView1.ColumnHeaders(4).Text = h4
End Sub
Private Sub lViewWChange(w1 As Integer, w2 As Integer, w3 As Integer, w4 As Integer, w5 As Integer)
    ListView1.ColumnHeaders(1).Width = w1
    ListView1.ColumnHeaders(2).Width = w2
    ListView1.ColumnHeaders(3).Width = w3
    ListView1.ColumnHeaders(4).Width = w4
    ListView1.ColumnHeaders(5).Width = w5
End Sub

Private Sub frmInit()

On Error GoTo Err1
    Dim rootNode As Node
    Dim nodx1, nodx2 As Node
    Dim nodx As Node
    Dim i As Integer
    Dim dClassify As Recordset
    Dim txtTmp As String
    'For i = 1 To comNum
    '    Load Me.MSComm1(i)
    'Next i
    
    ReDim txtSmsBuffer(comNum) As String
    

    TreeView1.LineStyle = tvwTreeLines      '在兄弟节点和父节点之间显示线
    TreeView1.ImageList = ImageList2        '链接图像列
    TreeView1.Style = tvwTreelinesPlusMinusPictureText
    Set rootNode = TreeView1.Nodes.Add(, , "\\SMS", "我的手机", 10)
    rootNode.Expanded = True
    Set nodx = TreeView1.Nodes.Add(rootNode.Key, tvwChild, "mySms", "我的信箱(手机)", 3)
    nodx.Expanded = True
    Set nodx = TreeView1.Nodes.Add("mySms", tvwChild, "RecUnRead", "未读短信", 5)
    Set nodx = TreeView1.Nodes.Add("mySms", tvwChild, "RecRead", "已读短信", 12)
    Set nodx = TreeView1.Nodes.Add("mySms", tvwChild, "StoSent", "已发短信", 13)
    Set nodx = TreeView1.Nodes.Add("mySms", tvwChild, "StoUnSent", "未发短信", 14)
    
    Set nodx = TreeView1.Nodes.Add(rootNode.Key, tvwChild, "myBook", "我的通讯簿", 2)
    nodx.Expanded = True
    Set nodx = TreeView1.Nodes.Add("myBook", tvwChild, "LinkMan1", "手机中", 4)
    nodx.Expanded = True
    Set nodx = TreeView1.Nodes.Add("LinkMan1", tvwChild, "LinkMan2", "所有联系人(M)", 4)
    Set nodx = TreeView1.Nodes.Add("myBook", tvwChild, "LinkMan3", "数据库", 4)
    nodx.Expanded = True
    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "LinkMan4", "所有联系人(D)", 4)
    Set dClassify = myDb.OpenRecordset("select * from classify order by index asc", dbOpenDynaset)
    Me.cboClassify.Clear
    i = 1
    If Not IsNull(dClassify("classify")) Then
        dClassify.MoveLast
        dClassify.MoveFirst
        Do While dClassify.EOF = False
            txtTmp = DataRec(dClassify, "classify")
            If txtTmp <> "" Then Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "A" & txtTmp & i, txtTmp, 4)
            Me.cboClassify.AddItem Trim(txtTmp)
            dClassify.MoveNext
            i = i + 1
        Loop
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "family", "亲人", 4)
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "SchoolMate", "同学", 4)
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "Confrere", "同事", 4)
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "Friend", "朋友", 4)
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "Personage", "重要人士", 4)
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "Symbiosis", "合作伙伴", 4)
    '    Set nodx = TreeView1.Nodes.Add("LinkMan3", tvwChild, "Other", "其它", 4)
    End If
    
    Set nodx = TreeView1.Nodes.Add(rootNode.Key, tvwChild, "smsData", "短信历史记录", 11)
    nodx.Expanded = True
    Set nodx = TreeView1.Nodes.Add("smsData", tvwChild, "dataSMs1", "接收短信", 12)
    Set nodx = TreeView1.Nodes.Add("smsData", tvwChild, "dataSms2", "发送短信", 13)
    'Set nodx = TreeView1.SelectedItem
    Exit Sub
Err1:
    MsgBox "错误:" & vbCr & Err.Description, 16, "错误"

End Sub

Private Sub MoveCombo()
On Error Resume Next
    Dim gcol As MSDBGrid.Column
    Set gcol = DBGrid1.Columns(DBGrid1.Col)
    If gcol.Caption = "分类" And Me.DBGrid1.CurrentCellVisible Then
        Me.cboClassify.Move Me.DBGrid1.Left + gcol.Left, Me.DBGrid1.Top + Me.DBGrid1.RowTop(Me.DBGrid1.Row), gcol.Width ', Me.DBGrid1.RowTop(Me.DBGrid1.Row + 1) - Me.DBGrid1.RowTop(Me.DBGrid1.Row)
        Me.cboClassify.ZOrder
        Me.cboClassify.SetFocus
        Me.cboClassify.Text = gcol.Text
        Me.cboClassify.Visible = True
        Exit Sub
    Else
        Me.cboClassify.Visible = False
    End If
End Sub

Private Sub cboClassify_Click()
    Me.DBGrid1.Columns("分类").Value = Me.cboClassify.Text
End Sub

Private Sub dBook_Click(Index As Integer)
Dim i As Integer
Dim intxt As String
Dim strSearch  As String
Select Case Index
    Case 1
        Me.StatusBar1.Panels(3).Text = ""
        Load frmSent
        frmSent.lstTel.Clear
        If DBGrid1.Visible = True Then
            frmSent.lstTel.AddItem Me.DBGrid1.Columns("电话号码").Value
        Else
            frmSent.lstTel.AddItem Me.DBGrid2.Columns("电话号码").Value
        End If
        frmSent.Show 1
    Case 3
        'Set dSelTel = myDb.OpenRecordset("select * from phonebook where name like'" & Text1.Text & "*'", dbOpenDynaset)
        frmTelS.Show 1
    End Select
End Sub


Private Sub DBGrid1_ColResize(ByVal ColIndex As Integer, Cancel As Integer)
    MoveCombo
End Sub

Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    MoveCombo
End Sub

Private Sub DBGrid1_RowResize(Cancel As Integer)
    MoveCombo
End Sub

Private Sub DBGrid1_Scroll(Cancel As Integer)
    MoveCombo
End Sub

Private Sub DBGrid1_SelChange(Cancel As Integer)
    MoveCombo
End Sub

Private Sub DBGrid1_SplitChange()
    MoveCombo
End Sub

Private Sub mobileInfo(Index As Integer, info As String)
Dim i As Integer
Dim j As Integer
Dim txtTmp As String
Dim txtTmp1 As String
Dim txtTmp2 As String
    Select Case Index
        Case 0
            i = InStr(1, info, "+CGMI:")
            If i < 1 Then Exit Sub
            j = InStr(i + 1, info, Chr(13))
            If j < 1 Then Exit Sub
            frmPhoneInfo.labMobile(Index).Caption = Mid(info, i + 6, j - i - 6)
        Case 1
            i = InStr(1, info, "+GMM:")
            If i < 1 Then Exit Sub
            j = InStr(i + 1, info, Chr(13))
            If j < 1 Then Exit Sub
            frmPhoneInfo.labMobile(Index).Caption = Mid(info, i + 5, j - i - 5)
        Case 2
            i = InStr(1, info, "+CGSN:")
            If i < 1 Then Exit Sub
            j = InStr(i + 1, info, Chr(13))
            If j < 1 Then Exit Sub
            If frmPhoneB = True Then frmPhoneInfo.Text1.Text = Mid(info, i + 6, j - i - 6)
            If frmSentB = True Then frmSent.Label2.Caption = Trim(Mid(info, i + 6, j - i - 6))
        Case 3
            i = InStr(1, info, "+CCLK:")
            If i < 1 Then Exit Sub
            j = InStr(i + 1, info, Chr(13))
            If j < 1 Then Exit Sub
            frmPhoneInfo.labMobile(Index).Caption = Mid(info, i + 6, j - i - 6)
        Case 4
            i = InStr(1, info, "+CBC:")
            If i < 1 Then Exit Sub
  

⌨️ 快捷键说明

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