FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Enviar SMS via Web...
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Mon Sep 14, 2009 01:06 PM
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 (fw): Select all Collapse
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.
Saludos



Andrés González desde Mallorca
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Enviar SMS via Web...
Posted: Mon Sep 14, 2009 02:49 PM

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
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Tue Sep 15, 2009 06:28 AM

Gracias Antonio.,

Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Tue Sep 15, 2009 10:09 AM
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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Enviar SMS via Web...
Posted: Tue Sep 15, 2009 12:25 PM
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:InnerHtml )

Para obtener todas las direcciones de las imágenes mostradas:
Code (fw): Select all Collapse
   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
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Wed Sep 16, 2009 12:05 PM

Mil gracias Antonio...

Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Thu Sep 24, 2009 11:06 AM
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 (fw): Select all Collapse
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.
Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Thu Sep 24, 2009 11:12 AM
Antonio cuando pongo los dos puntos ":" con la etiqueta code, incluso desde teclado me los cambia por ":" a que es debido.
Code (fw): Select all Collapse
:

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



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Fri Sep 25, 2009 06:20 AM
No te molestes Antonio intentaba ocultar la ventana pero si lo hacemos con ocultar el activex funciona:
Code (fw): Select all Collapse
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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Enviar SMS via Web...
Posted: Fri Sep 25, 2009 11:54 PM

Andrés,

Bien :-)

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

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Sun Sep 27, 2009 03:39 PM
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 (fw): Select all Collapse
  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
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: Enviar SMS via Web...
Posted: Sun Sep 27, 2009 03:45 PM
Antonio fijate de donde viene el problema:

oActiveX:Do()
oActoveX:Do()
Code (fw): Select all Collapse
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

Continue the discussion