Enviar SMS via Web...

User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post 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

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.
Last edited by Andrés González on Tue Sep 15, 2009 10:17 am, edited 1 time in total.
Saludos

Andrés González desde Mallorca
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Enviar SMS via Web...

Post 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()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post by Andrés González »

Gracias Antonio.,
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post 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.
Saludos

Andrés González desde Mallorca
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Enviar SMS via Web...

Post 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

   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 ... S.85).aspx
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post by Andrés González »

Mil gracias Antonio...
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post 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

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.
Last edited by Andrés González on Thu Sep 24, 2009 11:18 am, edited 2 times in total.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post by Andrés González »

Antonio cuando pongo los dos puntos ":" con la etiqueta code, incluso desde teclado me _ por ":" a que es debido.

Code: Select all

:

oActoveX:Do()
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.
Last edited by Andrés González on Sun Sep 27, 2009 3:49 pm, edited 2 times in total.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post 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

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  
Saludos

Andrés González desde Mallorca
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Enviar SMS via Web...

Post by Antonio Linares »

Andrés,

Bien :-)

El ":" es un fallo del pluggin de resaltador de sintaxis de estos foros.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post 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:

Code: Select all

  oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )
Lo cual no es logico pero no se a que se debe, te cuento cosas cuando lo identifique.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Post by Andrés González »

Antonio fijate de donde viene el problema:

oActiveX:Do()
oActoveX:Do()

Code: Select all

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.
Saludos

Andrés González desde Mallorca
Post Reply