Reza Safa
دوشنبه 02 مهر 1386, 05:36 صبح
Imports System.Runtime.InteropServices.COMException
Public Class Form1
Public Call_Name As String
Public Call_Number As String
'http://www.15seconds.com/issue/020626.htm
Private WithEvents MSComm1 As New MSCommLib.MSComm
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MSComm1.PortOpen = False
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MSComm1.Settings = "9600, N, 8, 1"
MSComm1.CommPort = 3
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
MSComm1.RThreshold = 0
MSComm1.InputLen = 0
MSComm1.Output = "AT#CID=1" & Chr(13)
'With MSComm1
' .Settings = "115200, N, 8, 1" '// Baud, Parity, Data Bits, Stop Bits
' .CommPort = 3 '// Change to the port of your modem
' If .PortOpen = False Then '// If the port is not already open
' .PortOpen = True '// open it
' End If
' .RThreshold = 0
' .InputLen = 0
' .Output = "AT#CID=1" & Chr(13) '// Send the modem the
' '// appropriate AT command
' '// to enable the modem to
' '// sit and wait for
' '// incoming calls and capture
' '// the caller id information
' '// Check the modem's documentation
' '// for the correct string
'End With
End Sub
Private Sub MSComm1_OnComm() Handles MSComm1.OnComm
MsgBox(MSComm1.Input)
Dim Buffer As String
Dim start, l As Integer
Buffer = Replace(MSComm1.Input, Chr(13), "")
Buffer = Replace(Buffer, Chr(10), "")
If InStr(Buffer, "NMBR") Then
start = InStr(Buffer, "NMBR")
l = Len(Buffer) - (start + 1)
ListBox1.Items.Add(Mid(Buffer, InStr(Buffer, "NMBR") + 5, l)) ' add each ID to a listBox
End If
'Dim Buffer As String '// Will hold the string
''// from the modem
''// I was having problems dealing with
''// the returns and line feeds so I deleted
''// them from the Buffer
'Buffer = Replace(MSComm1.Input, Chr(13), "")
'Buffer = Replace(Buffer, Chr(10), "")
'MsgBox(Buffer)
''GetCallerInfo (Buffer)
End Sub
Private Sub GetCallerInfo(ByVal 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
If Len(Call_Name) > 1 Or Len(Call_Number) > 1 Then
'Call Database_Update
MsgBox(Call_Number)
End If
End Sub
End Class
Public Class Form1
Public Call_Name As String
Public Call_Number As String
'http://www.15seconds.com/issue/020626.htm
Private WithEvents MSComm1 As New MSCommLib.MSComm
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MSComm1.PortOpen = False
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MSComm1.Settings = "9600, N, 8, 1"
MSComm1.CommPort = 3
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
MSComm1.RThreshold = 0
MSComm1.InputLen = 0
MSComm1.Output = "AT#CID=1" & Chr(13)
'With MSComm1
' .Settings = "115200, N, 8, 1" '// Baud, Parity, Data Bits, Stop Bits
' .CommPort = 3 '// Change to the port of your modem
' If .PortOpen = False Then '// If the port is not already open
' .PortOpen = True '// open it
' End If
' .RThreshold = 0
' .InputLen = 0
' .Output = "AT#CID=1" & Chr(13) '// Send the modem the
' '// appropriate AT command
' '// to enable the modem to
' '// sit and wait for
' '// incoming calls and capture
' '// the caller id information
' '// Check the modem's documentation
' '// for the correct string
'End With
End Sub
Private Sub MSComm1_OnComm() Handles MSComm1.OnComm
MsgBox(MSComm1.Input)
Dim Buffer As String
Dim start, l As Integer
Buffer = Replace(MSComm1.Input, Chr(13), "")
Buffer = Replace(Buffer, Chr(10), "")
If InStr(Buffer, "NMBR") Then
start = InStr(Buffer, "NMBR")
l = Len(Buffer) - (start + 1)
ListBox1.Items.Add(Mid(Buffer, InStr(Buffer, "NMBR") + 5, l)) ' add each ID to a listBox
End If
'Dim Buffer As String '// Will hold the string
''// from the modem
''// I was having problems dealing with
''// the returns and line feeds so I deleted
''// them from the Buffer
'Buffer = Replace(MSComm1.Input, Chr(13), "")
'Buffer = Replace(Buffer, Chr(10), "")
'MsgBox(Buffer)
''GetCallerInfo (Buffer)
End Sub
Private Sub GetCallerInfo(ByVal 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
If Len(Call_Name) > 1 Or Len(Call_Number) > 1 Then
'Call Database_Update
MsgBox(Call_Number)
End If
End Sub
End Class