Hôm nay chúng tôi sẽ giới thiệu với các bạn một kỹ thuật khá hay: nhận biết số điện thoại gọi đến bằng ngôn ngữ VB. Chúng ta sẽ xây dựng một chương trình cho để lấy các số điện thoại gọi đến. Bạn có thể sử dụng để xây dựng các ứng dụng với telephone.
Tạo một Standard EXE. sau đó add một label vào form. Chúng ta sử dụng MSComm của Microsoft để giao tiếp với với MODEM . Ở sự kiện on_load chúng ta sử dụng các đoạn code sau:
Public Call_Name As String
Public Call_Number As String
Private Sub Form_Load()
With MSComm1
.Settings = \'\'9600, N, 8, 1\'\' \'// Baud, Parity, Data Bits, Stop Bits
.CommPort = 2 \'// Đổi port cho phù hợp với bạn
If .PortOpen = False Then \'// Nếu port không mở
.PortOpen = True \'// mở port
End if
.RThreshold = 0
.InputLen = 0
\'Gửi đến MODEM một tập lệnh AT để lệnh MODEM mở và chờ cuộc gọi đến và lấy thông tin caller id. Bạn có thể xem tài liệ u của MODEM để gửi string chính xác.
.Output = \'\'AT#CID=1\'\' & Chr(13)
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False \'// Đóng port khi chương trình kết thúc
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As String \'// lưu chuỗi từ MODEM
Buffer = Replace(MSComm1.Input, Chr(13), \'\'\'\')
Buffer = Replace(Buffer, Chr(10), \'\'\'\')
GetCallerInfo (Buffer)
End Sub
Private Sub GetCallerInfo(Caller_Id_string As String)
If InStr(Caller_Id_string, \'\'NAME\'\') > 0 Then
Call_Name = Mid(Caller_Id_string, (InStr(Caller_Id_string, \'\'NAME = \'\') + 7), _
((InStr(Caller_Id_string, \'\'NMBR = \'\') - 7) - InStr(Caller_Id_string, \'\'NAME = \'\')))
End If
If InStr(Caller_Id_string, \'\'NMBR\'\') > 0 Then
Call_Number = Mid(Caller_Id_string, (InStr(Caller_Id_string, \'\'NMBR = \'\') + 7))
End If
End Sub