Pregunta: | 28059 - RECIBIR FAX DESDE VBASIC |
Autor: | Orestes Loprete |
Hola amigos, tengo que resolver un problema con bastante urgencia, y es el siguiente:
En una aplicación tengo que llamar vía modem a un número de teléfono donde atiende un menú pregrabado, con varias opciones seleccionables por tonos. La última opción que selecciono hace que la máquina que me atendió me envíe un fax. Probando con un control MScomm, no tengo problema hasta que le doy la última opción seleccionada, el tema es darle señal de fax y grabarlo, con lo que me estoy rompiendo la cabeza hace rato y no encuentro la forma. Si pueden ayudarme, lo agradeceré enormemente. Incluso no me importa si tengo que usar otros lenguajes, el tema es que mi presupuesto es demasiado bajo. |
Respuesta: | Sandra Vazquez |
Tengo el problema igual tengo 4 dias intentadolo y e llegado hasta aki
Dim cadConexion As String Dim resultado As Integer Dim modem As String On Error GoTo cError Text1.Text = "Marcando..." & Chr(13) cadConexion$ = "ATDT" + numero + Chr$(13) MSComm1.Output = "AT+FCLASS=2.1" & Chr(13) Duerme 300 MSComm1.InputLen = 0 Temp = MSComm1.Input Text1.Text = Text1.Text & "OUT: " & "AT+FCLASS=2,1" & Chr(13) & " IN: " & Temp & Chr(13) MSComm1.Output = "AT+FNR=1,1,1,1" & Chr(13) Duerme 300 MSComm1.InputLen = 0 Temp = MSComm1.Input Text1.Text = Text1.Text & "OUT: " & "AT+FNR=1,1,1,1" & Chr(13) & " IN: " & Temp & Chr(13) MSComm1.Output = TxtTelLocal & Chr(13) Duerme 300 MSComm1.InputLen = 0 Temp = MSComm1.Input Text1.Text = Text1.Text & "OUT: " & TxtTelLocal & Chr(13) & " IN: " & Temp & Chr(13) 'Enviamos los comandos AT con el número al módem MSComm1.Output = cadConexion$ MSComm1.InputLen = 0 Temp = MSComm1.Input Text1.Text = Text1.Text & "OUT: " & cadConexion$ & Chr(13) & " IN: " & Temp & Chr(13) 'Esperamos a recibir "OK" desde el módem Do resultado = DoEvents() ' Si hay datos en el Buffer los leemos If MSComm1.InBufferCount Then modem$ = modem$ + MSComm1.Input 'Comprobamos si los datos leídos son "OK" If InStr(modem$, "OK") Then 'MSComm1.Output = "prueba" & vbCr & vbLf 'Podemos indicar al usuario que descuelgue el teléfono Exit Do End If End If Loop Text1.Text = Text1.Text & modem$ ' SE PUEDE LEVANTAR LA BOCINA PARA PEDIR TONO MSComm1.Output = "AT+FDT" & Chr(13) MSComm1.InputLen = 0 Temp = MSComm1.Input Text1.Text = Text1.Text & "OUT: " & "AT+FDT" & Chr(13) & " IN: " & Temp & Chr(13) Do DoEvents ' Si hay datos en el Buffer los leemos If MSComm1.InBufferCount > 0 Then modem$ = MSComm1.Input 'Comprobamos si los datos leídos son "OK" If InStr(modem$, "CONNECT") Then 'Podemos indicar al usuario que descuelgue el teléfono Text1.Text = Text1.Text & modem$ & Chr(13) Exit Do Else If InStr(modem$, "ERROR") Then MsgBox "EL MODEM NO RESPONDIO.", vbCritical, "FAX" Exit Do End If End If Text1.Text = Text1.Text & modem$ & Chr(13) End If Loop Dim Mensaje() As Byte Dim Texto As String Texto = "Es un mensaje de prueba" For i = 1 To Len(Texto) Mensaje(i) = Chr(Mid(Texto, i, 1)) Loop MSComm1.Input = Mensaje yo puedo levantar el telefono y teclear el numero de la extencion por k no se k numero sera debido a k ser a muchos telefonos diferentes a donde se envie pero no se como mandar el mensaje por eso estoy ciclada |