📄 formdial.frm
字号:
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 + -