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

📄 formdial.frm

📁 用来打电话的程序
💻 FRM
📖 第 1 页 / 共 2 页
字号:

i = 0

Open "dialed.txt" For Append As #2
    Do Until EOF(2)
    Line Input #2, dialednumber1(i)
    s(i) = dialednumber1(i) + Chr(10)
    
    Combodial.AddItem dialednumber1(i), i
    i = i + 1
    Loop

Close #2
End Sub
Private Sub recorderdialednumber() '记录没打过得电话
   Dim i, s, mark, flag
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
    Dim fs, f, ts
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.getfile("dialed.txt")
     Set ts = f.openastextstream(ForAppending, TristateUseDefault)
       flag = False
   i = 0
    Open "dialed.txt" For Input As #3
        Do Until EOF(3)
        Line Input #3, dialednumber2(i)
        s = dialednumber2(i) + Chr(10)
        i = i + 1
        Loop
        mark = i
        For i = 0 To mark
        If dialednumber2(i) = Combodial.Text Then flag = True: Exit For
        Next
    Close #3
    If flag = flase Then
    ts.writeline Combodial.Text
    End If
    ts.Close
End Sub
Private Sub quickdial()
    Dim i, s
    i = 0
    ' 读出文件中的每一行并赋值给数组
    Open "phonebook.txt" For Input As #1
        Do Until EOF(1)
        Line Input #1, str(i)
            s = str(i) + Chr(13) + Chr(10)
            i = i + 1
        Loop
        
        phoneline = i
        '从数组中分出姓名与电话号
        For i = 0 To phoneline - 1
        ming(i) = Mid(str(i), 1, InStr(1, str(i), ",", vbTextCompare) - 1)
        phone(i) = Mid(str(i), InStr(1, str(i), ",", vbTextCompare) + 1, Len(str(i)) - InStr(1, str(i), ",", vbTextCompare))
        Next
        '初始化,第一页
        For i = 0 To 9
            If phoneline = 0 Then
                phonenumber(i).Caption = ""
            ElseIf i > phoneline Then
                For j = phoneline To 9
                phonenumber(j).Caption = ""
                Next
            Else
                phonenumber(i).Caption = ming(i)
            End If
        Next
        
    Close #1
End Sub

Private Sub changnumber_Click()
If Combodial.Text = "" Then Exit Sub
Combodial.Text = Mid(Combodial.Text, 1, Len(Combodial.Text) - 1)
End Sub

Private Sub clear_Click()
Combodial.Text = ""
End Sub

Private Sub Combodial_Click()
loaddialed
End Sub

Private Sub dial_Click()
    
    recorderdialednumber
    If MSComm1.PortOpen = False Then
    Open "usingcard.txt" For Input As #2
    If Not EOF(2) Then
        Line Input #2, usingcardnumber
             If usingcardnumber = "" Then
             dialnumber = Combodial.Text
             Else
            dialnumber = usingcardnumber + Combodial.Text
             End If
        Close #2

   End If
    dialphone (dialnumber)
   End If
End Sub

Private Sub down_Click()
   If phonepages = 0 Then Exit Sub
   phonepage = phonepage + 1
    If phonepage > phonepages Then
    phonepage = 1
    End If
    Textpage.Text = phonepage
    
    If phonepage >= 1 And phonepage < phonepages Then
        For i = 0 To 9
        phonenumber(i).Caption = ming((phonepage - 1) * 10 + i)
        Next
    End If
    If phonepage = phonepages Then
        If phoneline Mod 10 = 0 Then
            For i = 0 To 9
            phonenumber(i).Caption = ming((phonepage - 1) * 10 + i)
            Next
        ElseIf phoneline Mod 10 <> 0 Then
         m = phoneline Mod 10
             For i = 0 To 9
                If i < m - 1 Then
                phonenumber(i).Caption = ming((phonepage - 1) * 10 + i)
                Else
                phonenumber(i).Caption = ming((phonepage - 2) * 10 + i)
                End If
             Next
        End If
   End If
End Sub

Private Sub Form_Load()
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
    Dim fs, f, ts(1)
    Set fs = CreateObject("Scripting.FileSystemObject")
            If Not fs.FileExists("dialed.txt") Then
            Set f = fs.CreateTextFile("dialed.txt", False, False)
            f.Close
            End If
            If Not fs.FileExists("phonebook.txt") Then
            Set f = fs.CreateTextFile("phonebook.txt", False, False)
            f.Close
            End If
            If Not fs.FileExists("CARDBOOK.txt") Then
            Set f = fs.CreateTextFile("CARDBOOK.txt", False, False)
            f.Close
            End If
         If Not fs.FileExists("system.txt") Then
        Set f = fs.CreateTextFile("system.txt", False, False)
        f.writeline 3
        f.writeline "9600,N,8,1"
        f.Close
        End If
        
       Open "system.txt" For Input As #1
       i = 0
       Do Until EOF(1)
       Line Input #1, ts(i)
       i = i + 1
       Loop
       portnumber = ts(0)
       settingstr = ts(1)
       Close #1
loaddialed
formdial.Height = 3795
formdial.Width = 3960

End Sub

Private Sub hangup_Click()
If MSComm1.PortOpen = True Then MSComm1.Output = "ATH" + vbCr: MSComm1.PortOpen = False
End Sub

Private Sub number_Click(Index As Integer)
loadnumber
If MSComm1.PortOpen = True Then MSComm1.Output = "ATDT" + strnumber(Index) + ";" + vbCr
Combodial.Text = Combodial.Text + strnumber(Index).Caption
End Sub

Private Sub phonenumber_Click(Index As Integer)
If phonepages = 0 Then Exit Sub
If phonepage >= 1 And phonepage < phonepages Then
    Select Case Index
    Case 0
    Combodial.Text = phone((phonepage - 1) * 10)
    Case 1
    Combodial.Text = phone((phonepage - 1) * 10 + 1)
    Case 2
    Combodial.Text = phone((phonepage - 1) * 10 + 2)
    Case 3
    Combodial.Text = phone((phonepage - 1) * 10 + 3)
    Case 4
    Combodial.Text = phone((phonepage - 1) * 10 + 4)
    Case 5
    Combodial.Text = phone((phonepage - 1) * 10 + 5)
    Case 6
    Combodial.Text = phone((phonepage - 1) * 10 + 6)
    Case 7
    Combodial.Text = phone((phonepage - 1) * 10 + 7)
    Case 8
    Combodial.Text = phone((phonepage - 1) * 10 + 8)
    Case 9
    Combodial.Text = phone((phonepage - 1) * 10 + 9)
    End Select
ElseIf phonepage = phonepages Then
    If phoneline Mod 10 = 0 Then
        Select Case Index
        Case 0
        Combodial.Text = phone((phonepage - 1) * 10)
        Case 1
        Combodial.Text = phone((phonepage - 1) * 10 + 1)
        Case 2
        Combodial.Text = phone((phonepage - 1) * 10 + 2)
        Case 3
        Combodial.Text = phone((phonepage - 1) * 10 + 3)
        Case 4
        Combodial.Text = phone((phonepage - 1) * 10 + 4)
        Case 5
        Combodial.Text = phone((phonepage - 1) * 10 + 5)
        Case 6
        Combodial.Text = phone((phonepage - 1) * 10 + 6)
        Case 7
        Combodial.Text = phone((phonepage - 1) * 10 + 7)
        Case 8
        Combodial.Text = phone((phonepage - 1) * 10 + 8)
        Case 9
        Combodial.Text = phone((phonepage - 1) * 10 + 9)
        End Select
    ElseIf phoneline Mod 10 <> 0 Then
        m = phoneline Mod 10
        If Index <= m - 1 Then
            Select Case Index
            Case 0
            Combodial.Text = phone((phonepage - 1) * 10)
            Case 1
            Combodial.Text = phone((phonepage - 1) * 10 + 1)
            Case 2
            Combodial.Text = phone((phonepage - 1) * 10 + 2)
            Case 3
            Combodial.Text = phone((phonepage - 1) * 10 + 3)
            Case 4
            Combodial.Text = phone((phonepage - 1) * 10 + 4)
            Case 5
            Combodial.Text = phone((phonepage - 1) * 10 + 5)
            Case 6
            Combodial.Text = phone((phonepage - 1) * 10 + 6)
            Case 7
            Combodial.Text = phone((phonepage - 1) * 10 + 7)
            Case 8
            Combodial.Text = phone((phonepage - 1) * 10 + 8)
            Case 9
            Combodial.Text = phone((phonepage - 1) * 10 + 9)
            End Select
            Else
            Select Case Index
            Case 0
            Combodial.Text = phone((phonepage - 2) * 10)
            Case 1
            Combodial.Text = phone((phonepage - 2) * 10 + 1)
            Case 2
            Combodial.Text = phone((phonepage - 2) * 10 + 2)
            Case 3
            Combodial.Text = phone((phonepage - 2) * 10 + 3)
            Case 4
            Combodial.Text = phone((phonepage - 2) * 10 + 4)
            Case 5
            Combodial.Text = phone((phonepage - 2) * 10 + 5)
            Case 6
            Combodial.Text = phone((phonepage - 2) * 10 + 6)
            Case 7
            Combodial.Text = phone((phonepage - 2) * 10 + 7)
            Case 8
            Combodial.Text = phone((phonepage - 2) * 10 + 8)
            Case 9
            Combodial.Text = phone((phonepage - 2) * 10 + 9)
            End Select
            End If
        End If
    End If

    

End Sub

Private Sub setup_Click()
formsetup.Show

End Sub

Private Sub speeddial_Click(Index As Integer)
        n = n + 1
        If n Mod 2 = 0 Then
        formdial.Height = 3795
        formdial.Width = 3960
        Else
        formdial.Height = 7455
        formdial.Width = 3960
        
        End If
Call quickdial
        If phoneline Mod 10 = 0 Then
        phonepages = phoneline \ 10
        Else
        phonepages = phoneline \ 10 + 1
        End If
        phonepage = 1
        Textpage = phonepage
        
End Sub

Private Sub dialphone(number$)
   
    Dim DialString$, FromModem$, dummy
    DialString$ = "ATDT" + number$ + ";" + vbCr
    MSComm1.CommPort = portnumber
    MSComm1.Settings = "9600,N,8,1"


    On Error Resume Next
    MSComm1.PortOpen = True
    If Err Then
       MsgBox " COM2: 不可用。 更改 CommPort 属性使其使用 COM1。"
       Exit Sub
    End If
    MSComm1.InBufferCount = 0
    MSComm1.Output = DialString$
    Do

    
       dummy = DoEvents()
       If MSComm1.InBufferCount Then
          FromModem$ = FromModem$ + MSComm1.Input
          If InStr(FromModem$, "OK") Then
                 Beep
             MsgBox "请您摘电话然后按“回车”键或单击“确定”"
             Exit Do
          End If
       End If
    Loop
    MSComm1.Output = "ATH" + vbCr
    MSComm1.PortOpen = False
End Sub


⌨️ 快捷键说明

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