Page 2 of 2
Re: Enviar SMS via Web...
Posted: Mon Sep 14, 2009 1:06 pm
by Andrés González
Hola, ya he conseguido enviar los mensajes SMS desde la paguina de Vodafone, os dejo el codigo por si alguien quiere contratar una cuenta y enviar los mensajes:
Code: Select all | Expand
nction SendSMSI()
local oWnd, oActiveX
DEFINE WINDOW oWnd;
TITLE "Ejemplos de Envio de SMS via Web de Vodafone" ;
MENU ViaWebMenu()
@ 0, 0 ACTIVEX oActiveX PROGID "Shell.Explorer" OF oWnd
oWnd:oClient = oActiveX
ACTIVATE WINDOW oWnd MAXIMIZED;
ON INIT oActiveX:Do( "Navigate2",;
"http://mensaredempresas.vodafone.es/innerUser/servlet/SendMssgServlet",,,;
GetPostData( "enterprise=miempresa&login=milogin&password=mipas&to=61000000&msgText=Hola amigo" ),;
"Content-Type: application/x-www-form-urlencoded" + CRLF )
return nil
Puedes hacer acuse de recibo e incluso mandarlo como mensaje emergente.
Con google Chrome he podido ver los fuentes de la pagina y aparece el directorio al que manda la pagina y por lo tanto con cambiar ese dato de http me ha bastado aunque eso no es transparente para el usuario.
Antonio ahora como hago para que el activex se ejecute sin mostrar los datos en la ventana?
PD.: Gracias Pedro pero como tenemos cuenta en vodafone, he querido hacer el ejemplo con ellos.
Re: Enviar SMS via Web...
Posted: Mon Sep 14, 2009 2:49 pm
by Antonio Linares
Andrés,
Muy bien, bravo!
Si no quieres que se vea el ActiveX prueba a ocultarlo con oActiveX:Hide()
o puedes ocultar la propia ventana en donde está:
oWnd:Hide()
Re: Enviar SMS via Web...
Posted: Tue Sep 15, 2009 6:28 am
by Andrés González
Gracias Antonio.,
Re: Enviar SMS via Web...
Posted: Tue Sep 15, 2009 10:09 am
by Andrés González
Antonio esto abre unas posibilidades inmensas. He leido que aparte de la posibilidad del POST esta el GET, eso que signfica que puedo tambien coger el estado de una variable del servidor y integrarla en nuestros programas ? . Eso seria muy bueno sobre todo en aquellas variables dinamicas. No tengo posibilidad de contactar con Davide Guolo puesto que su perfil no tiene ni email ni messenger. Si alguien lo conoce le puede pasar mi email o messenger para poder hablar con el.
Re: Enviar SMS via Web...
Posted: Tue Sep 15, 2009 12:25 pm
by Antonio Linares
Andrés,
Al estar usando el objeto Internet Explorer como ActiveX, puedes acceder a toda su información. Es decir, puedes obtener todo lo que necesites
Por ejemplo, para obtener el código HTML recibido:
MsgInfo( oActiveX:Document:Body:InnerHtml )
Para obtener todas las direcciones de las imágenes mostradas:
Code: Select all | Expand
n := 0
while ! Empty( oActiveX : Document:Images[ n ] )
MsgInfo( oActiveX : Document:Images[ n ]:src )
n++
end
Solo tienes que revisar la documentación de Microsoft del ActiveX del Internet Explorer y puedes obtener un montón de cosas
http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx
Re: Enviar SMS via Web...
Posted: Wed Sep 16, 2009 12:05 pm
by Andrés González
Mil gracias Antonio...
Re: Enviar SMS via Web...
Posted: Thu Sep 24, 2009 11:06 am
by Andrés González
Es posible cargar una ActiveX sin asignárselo a ninguna ventana. Igual digo alguna tontería pero el código que dejo a continuación va bien pero me marca un error cuando salgo del programa. Me imagino que quedan las dos ventanas en funcionamiento (ya que las escondo con oWnd:Hide()) y no se como cargarme esos dos procesos ventana, que están en local. El syswait lo tengo que poner puesto que el segundo proceso se adelanta al primero.
Code: Select all | Expand
function Logear()
local oWnd, oActiveX
//? "Entro en Login"
DEFINE WINDOW oWnd;
TITLE "Ejemplos de Envio de SMS via Web de Vodafone"
@ 0, 0 ACTIVEX oActiveX PROGID "Shell.Explorer" OF oWnd
oWnd:oClient = oActiveX
ACTIVATE WINDOW oWnd MAXIMIZED;
ON INIT ( oActiveX:Do( "Navigate2",;
"http://mensaredempresas.vodafone.es/servlet/AuthenUserServlet",,,;
GetPostData( "enterprise=miempresa&login=milogin&password=mipassword" ),;
"Content-Type: application/x-www-form-urlencoded" + CRLF ), oWnd:Hide())
return nil
function Send()
local oWnd, oActiveX
//? "Envio mensaje"
DEFINE WINDOW oWnd;
TITLE "Ejemplos de Envio de SMS via Web de Vodafone"
@ 0, 0 ACTIVEX oActiveX PROGID "Shell.Explorer" OF oWnd
oWnd:oClient = oActiveX
ACTIVATE WINDOW oWnd MAXIMIZED;
ON INIT ( oActiveX:Do( "Navigate2",;
"http://mensaredempresas.vodafone.es/innerUser/servlet/SendMssgServlet",,,;
GetPostData( "&to=610273293&msgText=Hola amigo" ),;
"Content-Type: application/x-www-form-urlencoded" + CRLF ), oWnd:End())
return nil
Function SendSMS()
Logear()
SysWait(3)
Send()
Return nil
Antonio se te ocurre algo mas elegante que esto. No estoy muy metido en ActiveX y lo que he empleado hasta ahora son tus ejemplos.
Re: Enviar SMS via Web...
Posted: Thu Sep 24, 2009 11:12 am
by Andrés González
Antonio cuando pongo los dos puntos ":" con la etiqueta code, incluso desde teclado me los cambia por ":" a que es debido.
Bueno ahora veo que va bien, solo es cuando importo codigo del MultiEdit. Pero lo raro es que aunque lo intente modificar desde teclado me sigue saliendo lo mismo.
Re: Enviar SMS via Web...
Posted: Fri Sep 25, 2009 6:20 am
by Andrés González
No te molestes Antonio intentaba ocultar la ventana pero si lo hacemos con ocultar el activex funciona:
Code: Select all | Expand
function EnviarSMS()
Local oWnd, oActiveX
oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )
oActiveX:Do( "Navigate2",;
"http://mensaredempresas.vodafone.es/servlet/AuthenUserServlet",,,;
GetPostData( "enterprise=miempresa&login=milogin&password=mipasword" ),;
"Content-Type: application/x-www-form-urlencoded" + CRLF )
oActiveX:Hide()
SysWait(3)
oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )
oActiveX:Do( "Navigate2",;
"http://mensaredempresas.vodafone.es/innerUser/servlet/SendMssgServlet",,,;
GetPostData( "&to=610273293&msgText=Hola amigo" ),;
"Content-Type: application/x-www-form-urlencoded" + CRLF )
oActiveX:Hide()
return nil
Re: Enviar SMS via Web...
Posted: Fri Sep 25, 2009 11:54 pm
by Antonio Linares
Andrés,
Bien
El ":" es un fallo del pluggin de resaltador de sintaxis de estos foros.
Re: Enviar SMS via Web...
Posted: Sun Sep 27, 2009 3:39 pm
by Andrés González
Gracias Antonio. Estoy intentando poner lo de los SMS en un versión antigua 08.07 y me de problemas pero aun no he podido identificar a que se debe pero todo biene de cuando defino el Activex, Me da el error de ejecución en la linea:
Lo cual no es logico pero no se a que se debe, te cuento cosas cuando lo identifique.
Re: Enviar SMS via Web...
Posted: Sun Sep 27, 2009 3:45 pm
by Andrés González
Antonio fijate de donde viene el problema:
oActiveX:Do()
oActoveX:Do()
Me di cuenta puesto que en el mensaje anterior puse un 'o' en vez de una 'i' y pense que funcionaba.