Enviar SMS via Web...

Re: Enviar SMS via Web...

Postby Andrés González » Mon Sep 14, 2009 1: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: Select all  Expand view
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
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Postby Antonio Linares » Mon Sep 14, 2009 2: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41901
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Enviar SMS via Web...

Postby Andrés González » Tue Sep 15, 2009 6:28 am

Gracias Antonio.,
Saludos

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

Re: Enviar SMS via Web...

Postby Andrés González » 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
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Postby Antonio Linares » 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:Body:InnerHtml )

Para obtener todas las direcciones de las imágenes mostradas:
Code: Select all  Expand view

   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
User avatar
Antonio Linares
Site Admin
 
Posts: 41901
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Enviar SMS via Web...

Postby Andrés González » Wed Sep 16, 2009 12:05 pm

Mil gracias Antonio...
Saludos

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

Re: Enviar SMS via Web...

Postby Andrés González » 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: Select all  Expand view
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: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Postby Andrés González » 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: Select all  Expand view
:

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: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Postby Andrés González » Fri Sep 25, 2009 6:20 am

No te molestes Antonio intentaba ocultar la ventana pero si lo hacemos con ocultar el activex funciona:
Code: Select all  Expand view
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
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41901
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Enviar SMS via Web...

Postby Andrés González » Sun Sep 27, 2009 3: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: Select all  Expand view
 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: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Enviar SMS via Web...

Postby Andrés González » Sun Sep 27, 2009 3:45 pm

Antonio fijate de donde viene el problema:

oActiveX:Do()
oActoveX:Do()
Code: Select all  Expand view
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
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 26 guests