¿cómo puedo hacer lo mismo pero con Visual Basic? estoy realizando una aplicación en la que tengo una tabla con clientes, me gustaría poner un botón de "Marcar" en el teléfono del cliente y que el propio programa realice la marcación.
Publicado:
Dom Abr 08, 2007 5:14 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Marcar número de teléfono con Visual Basic y modem
Anuncios
varios escribió:
En el hilo del foro de Delphi he visto que habéis colocado código para marcar un número de teléfono con Delphi y un módem:
¿cómo puedo hacer lo mismo pero con Visual Basic? estoy realizando una aplicación en la que tengo una tabla con clientes, me gustaría poner un botón de "Marcar" en el teléfono del cliente y que el propio programa realice la marcación.
Tal vez te sirva este código, es de una de nuestras aplicaciones: realiza la marcación del número de teléfono indicado en el puerto de comunicaciones COM indicado, admite llamadas por pulsos o por tonos:
Código:
Option Explicit
Dim objComunicar
Public Sub marcarNumeroTelefono(numero As String)
Dim cadConexion As String
Dim resultado As Integer
Dim modem As String
On Error GoTo cError
Set objComunicar = CreateObject("MSCommLib.MSComm")
'Enviamos la cadena ATDT que equivale a
'descolgar el modem y marcar el número indicado por tonos
'ATDP por pulsos
If opTonos.Value = True Then
cadConexion$ = "ATDT" + numero + ";" + Chr$(13)
End If
If opPulsos.Value = True Then
cadConexion$ = "ATDP" + numero + ";" + Chr$(13)
End If
'Indicaremos el puerto COM a utilizar (donde esté conectado el módem)
objComunicar.CommPort = CInt(txtPuerto.Text)
'En la configuración le indicaremos
'300 = 300 baudios (velocidad)
'N = sin paridad
'8 = 8 bits de datos
'1 = bit de parada
objComunicar.Settings = "300,N,8,1"
objComunicar.PortOpen = True
'Liberamos el búfer de salida
objComunicar.InBufferCount = 0
'Enviamos los comandos AT con el número al módem
objComunicar.Output = cadConexion$
'Esperamos a recibir "OK" desde el módem
Do
resultado = DoEvents()
' Si hay datos en el Buffer los leemos
If objComunicar.InBufferCount Then
modem$ = modem$ + objComunicar.Input
'Comprobamos si los datos leídos son "OK"
If InStr(modem$, "OK") Then
'Podemos indicar al usuario que descuelgue el teléfono
MsgBox "Descuelge su teléfono y pulse 'Aceptar' para cerrar" _
+ " el módem. Podrá continuar la llamada en su teléfono." _
+ Chr(13) + Chr(13) + "Recuerde que si pulsa 'Aceptar' " _
+ "sin descolgar su teléfono se cortará la llamada.", _
vbInformation + vbOKOnly
Exit Do
End If
End If
Loop
'Desconectamos el módem, para ello enviamos el comando "ATH"
objComunicar.Output = "ATH" + Chr$(13)
'Cerramos el puerto
objComunicar.PortOpen = False
cSalir:
Exit Sub
cError:
MsgBox "Error en la marcación del número de teléfono: " & _
Err.Number & " - " & Err.Description, vbExclamation
GoTo cSalir
End Sub
Private Sub bColgar_Click()
On Error GoTo cError
'Desconectamos el módem, para ello enviamos el comando "ATH"
objComunicar.Output = "ATH" + Chr$(13)
cSalir:
Exit Sub
cError:
MsgBox "Error en la marcación del número de teléfono: " & _
Err.Number & " - " & Err.Description, vbExclamation
GoTo cSalir
End Sub
Private Sub bMarcar_Click()
marcarNumeroTelefono (txtNumero.Text)
End Sub
Ultima edición por alonsojpd el Mar Abr 10, 2007 3:02 pm, editado 1 vez
Publicado:
Dom Abr 08, 2007 5:25 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Marcar número de teléfono con Visual Basic y modem
Anuncios
También hemos colocado la descarga correspondiente de este ejemplo de como marcar un número de teléfono en el módem que tengamos conectado al PC:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A