FoxPro/Visual FoxPro - Mensaje de texto

 
Vista:

Mensaje de texto

Publicado por Dario (96 intervenciones) el 23/03/2010 19:57:33
Hola
Alguien encontro la forma de que desde un prg se pueda mandar un mensaje de texto a un celular

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mensaje de texto

Publicado por Pablo (Argentina) (433 intervenciones) el 23/03/2010 22:10:46
Hol Amigo, aca te paso un articulo, capaz que ya lo leistes, yo la verdad no lo probe ni nada, entiendo que para eso es mas facil entrar a paginas web que son de acceso gratuito por internet y enviarlos desd ahi que se puede sin problema y llegan porque ya lo probe y no te tenes que andar enroscando para hacer un PRG en Fox que no sabes si va a andar, me parece, es una opinion personal.

Suerte!!!!!!!!!!!

Un teléfono movil que esté conectado a tu PC

¿Cómo conecto el phone a mi PC?

Las formas de conectar un movil a un PC que yo conozca ahora mismo son 3:

· Por cable a un puerto COM

· Por Infrarojos

· Por Bluetooh



La mejor opción es la primera pues sabes perfectamente a qué puerto está conectado tu teléfono.



La opción de infrarojos tuve que desecharla debido a la dificultad que tiene Windows de asignar un puerto COM (facilmente identificable) a los infrarojos .



El bluetooh también es una opción interesante pues te suele dar el puerto COM7 ú COM8 y es fácil de manejar. El único problema es la seguridad debido a que su alcance es de 4 metros, cualquiera en tu entorno podría usarlo (por ejemplo el vecino de arriba).



¿Cómo comrpruebo que mi phone está bien conectado al PC y podemos empezar a trabajar?



La mejor forma es que uses el Hyperterminal que viene con todos los Windows.



1.- Carga el Hyperterminal.



2.- Indica el puerto al que está conectado tu movil



3.- Pon la velocidad a 9600



4.- Escribe ATZ y pulsa <enter>



Si obtienes un flamante OK. ¡Enhorabuena! Puedes seguir leyendo y aplicando el resto del artículo. En caso de que no te responda tienes un problema... pues no eres capaz de comunicarte con el teléfono.



Los teléfonos móviles soportan la norma RS232 (Modems para PC). El estándar “de facto” para controlar los teléfonos son los viejos y conocidos comandos AT HAYES, o más comúnmente conocidos como comandos AT. De este modo podemos configurar y controlar el módem utilizando los comandos AT. Una vez establecida la conexión con un módem remoto, se pasa del modo comando al modo conexión.



Cuando el usuario teclea el comando “ATZ” seguido de ENTER. El módem interpreta este comando, que es de inicialización y devuelve la cadena “OK” seguida de un retorno de carro para indicar que se ha ejecutado con éxito.


Los teléfonos GSM no sólo se comportan de forma muy parecida a un modem normal, permitiendo el intercambio de datos con otro modem y utilizándose los comandos AT originales, sino que incluyen muchas más características ya que permiten gestionar la base de datos de teléfonos, la lista de los mensajes SMS recibidos, enviar mensajes SMS, configurar diversos parámetros...



Para tener acceso a todos esos servicios, y dado que los comandos AT estaban muy extendidos

y muy estandarizados, se ha realizado una ampliación, añadiéndose nuevos comandos. Estos

nuevos comandos comienzan por las letras AT+, y se denominal comandos AT+.



Los Comandos AT+



A continuación se listan algunos de los comandos AT+ para tener una idea de lo que se puede controlar a través del modem, aunque existen muchos más





a) AT+CGMI: Identificación del fabricante

b) AT+CGSN: Obtener número de serie

c) AT+CIMI: Obtener el IMSI.

d) AT+CPAS: Leer estado del modem

2. Comandos del servicio de red

a) AT+CSQ: Obtener calidad de la señal

b) AT+COPS: Selección de un operador

c) AT+CREG: Registrarse en una red

d) AT+WOPN: Leer nombre del operador

3. Comandos de seguridad:

a) AT+CPIN: Introducir el PIN

b) AT+CPINC: Obtener el número de reintentos que quedan

c) AT+CPWD: Cambiar password

4. Comandos para la agenda de teléfonos

a) AT+CPBR: Leer todas las entradas

b) AT+CPBF: Encontrar una entrada

c) AT+CPBW: Almacenar una entrada

d) AT+CPBS: Buscar una entrada

5. Comandos para SMS

a) AT+CPMS: Seleccionar lugar de almacenamiento de los SMS

b) AT+CMGF: Seleccionar formato de los mensajes SMS

Modo texto

Modo PDU

c) AT+CMGR: Leer un mensaje SMS almacenado

d) AT+CMGL: Listar los mensajes almacenados

e) AT+CMGS: Enviar mensaje SMS

f ) AT+CMGW: Almacenar mensaje en memoria

g) AT+CMSS: Enviar mensaje almacenado

h) AT+CSCA: Establecer el Centro de mensajes a usar

i) AT+ WMSC: Modificar el estado de un mensaje



Nota: No todos los móviles soportan todas estas instrucciones. Deberás ver cuales son las que soportan el tuyo.





Algunos ejemplos



A continuación se muestran algunos ejemplos de utilización de los comantos AT+. Para probarlos se ha utilizado un ordenador PC, con un teléfono conectado al puerto serie y el Hyperterminal.



Lectura de la lista de teléfonos



Para listar todos los teléfonos se utiliza el comando AT+CPBR. Primero comprobamos la capacidad del directorio telefónico:



AT+CPBR=?

+CPBR: (1-150),20,14

OK



La información devuelta nos indica que el directorio tiene 150 entradas, desde la 1 hasta la 150, y que en cada entrada el teléfono puede ocupar como máximo 20 caracteres y el texto 14. Para listar los teléfonos debemos indicar qué entradas se quieren examinar. Como en este SIM hay 150 como máximo, utilizamos el siguiente comando:



AT+CPBR=1,150

+CPBR: 1,"617557556",129,"LUIS"

+CPBR: 2,"925541831",129,"ROSA"

+CPBR: 3,"934465076",129,"PACO G"

+CPBR: 4,"944634436",129,"MARIANICO"

+CPBR: 5,"955338584",129,"ANGELCHU"

+CPBR: 6,"617203473",129,"PESADO"

+CPBR: 7,"679453250",129,"LUCRECIA"

+CPBR: 8,"629040222",129,"PAPA"

OK



Se listan todos los teléfonos comprendidos entre las entradas 1 y 150. En total hay 8, que ocupan las posiciones 1-8. Para listar las 3 primeras entradas habría que hacer los siguiente:



AT+CPBR=1,3

+CPBR: 1,"617557556",129,"LUIS"

+CPBR: 2,"925541831",129,"ROSA"

+CPBR: 3,"934465076",129,"PACO G"

OK



Bien. Ya vas viendo que las posibilidades son muchas. Pero seguro que me estarás diciendo ¿Y el Fox donde está aquí?



Envío de mensajes desde Fox



FoxPro viene con el MSCOM que es un ActiveX para manejo de puertos. Nosotros podemos usar ese ActiveX de la misma forma que estamos interactuando con el HyperTerminal.



Mira el siguiente código:



oCom = CREATEOBJECT("MSCOMMLib.MSComm")

oCom.CommPort = 1 && Estoy usando el puerto 1

oCom.Settings = "9600,N,8,1"



TRY

IF oCom.PortOpen = .F.

oCom.PortOpen = .T.

ENDIF

CATCH

? 'Error : El puesto está abierto'

ENDTRY





oCom.Output ="ATZ" + CHR(13)



oCom.Output ="AT+CMGF=1" + CHR(13)

INKEY(.1)



*- Número del Servidor SMS en este caso el de AMENA

oCom.Output ="AT+CSCA=+34656000311,145" + CHR(13)

INKEY(.1)



*- Número de destino al que enviamos el mensaje

oCom.Output = "AT+CMGS=" + lcTFDestino + CHR(13)



*- Texto que queremos enviar (acabado con CTRL + Z)

oCom.Output = lcTexto + CHR(26)+ CHR(13)

INKEY(.1)



oCom.PortOpen = .F.



Nota: este código sólo funcionará en Fox 8 al usar el TRY/CATH



Ya ves que es bastante fácil. No obstante, si te metes en profundidad hay muchos campos en los que puedes ver las múltiples opciones de que dispones.



Por ejemplo, en este caso hemos compuesto el mensaje en formato texto. Si quieres lo podrías crear en formato PDU traduciendo las cadenas y realizando una sola conexión con el servidor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje de texto

Publicado por Edgar dvd (135 intervenciones) el 27/03/2010 18:10:29
que tal amigo

yo ya lo hice eso, una vez en mi trabajo me vi en el necesidad de que de alguna forma el sistema me avisara que habia un problema, entonces se me ocurrio eso, hice un programita para que me enviara un mensaje de texto cuando hubiera un problema y asta la vez esta funcionando..

si quieres q te ayude mandame un correo
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Mensaje de texto

Publicado por Novo (3 intervenciones) el 21/06/2011 20:20:51
Pone el código aquí hermano ... todos queremos ver el resultado de mandar un Texto como mensaje a un celular !!!! ... o si es muy grande, te sugiero que lo subas a Internet y pone el LINK donde lo podamos bajar todos .....

No se vale eso de dame tu correo y así solo entre "nos" .... Como así????????

Compartí tus conocimientos ... !!!! todos queremos aprender !!!

Salu2,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje de texto

Publicado por Dario (96 intervenciones) el 01/04/2010 01:01:53
Dale Amigo ,
Te cuento lo que necesito.
Todas las noches corro un programa para hacer un cierre de facturacion, y el dato lo tengo enviar a un celu por un mensaje de texo
Si tenes algun ejemplo te agradeszo
Gracias por tu atencion
Dario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje de texto

Publicado por Dario (96 intervenciones) el 01/04/2010 01:03:27
Dale Amigo ,
Te cuento lo que necesito.
Todas las noches corro un programa para hacer un cierre de facturacion, y el dato lo tengo enviar a un celu por un mensaje de texo
Si tenes algun ejemplo te agradeszo
Gracias por tu atencion
Dario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje de texto

Publicado por Enrique (1 intervención) el 05/07/2010 17:06:19
Muy Buenas!
Tengo un pequeño dilema con el envio de sms, resulta que tengo completado el codigo de envio del sms y funciona sin problemas, el tema esta en cuando quiero manejar el numero de destino en una variable, al parecer el telefono no me reconoce aunque ya he probado de todo para ver por donde esta el problema y no lo encuentro, les coloco aqui el pedazo del codigo que no me funciona:

definicion de variable= n_Destino=ALLTRIM(celular)
codigo de envio= thisform.comm1.output='AT+CMGS="'+n_Destino+'"'+chr(13)

en cambio este otro pedazo de codigo si me funciona al colocar el numero de destino directamente:

thisform.comm1.output='AT+CMGS="'+[098xxxxxxx]+'"'+chr(13)

quiero aclarar que uso el modo texto para manipular los mensajes y necesito usar una variable porque es para responder consultas por sms.

Si pueden darme una ayuda en esto les agradeceria grandemente!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Envíame código

Publicado por Willian Pineda (2 intervenciones) el 03/01/2011 12:00:37
Amigo: Necesito hacer exactamente lo que explicas, que el sistema me alerte con un SMS en mi celular sobre un problema en el sistema.

Te pido por favor me envies el código que mencionas a [email protected]

Dios te bendiga y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviame el codigo porfa

Publicado por Fidel Dario (1 intervención) el 24/11/2011 14:20:38
Hola

Necesito hacer lo mismo. He probado lo que se explica aquí pero me da un error OLEDispatch exeption code 0 from MSComm y no encuentro la forma de resolverlo.

Por favor enviame el codigo a [email protected]

Gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mensaje de texto

Publicado por Luis Arturo Cardenas Bustamante (1 intervención) el 03/07/2014 18:21:00
Hola Edgar dvd, yo se que han pasado muchos años desde que pusiste esta respuesta pero quería saber si de casualidad tenias el código del programa que describes en tu comentario, ya que ami tambien me pidieron eso en la empresa donde trabajo y como soy nuevo en Visual Foxpro, quisiera ver si me puedes apoyar con esta solicitud que te hago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar