Codigo fuente HTML con Activex

Codigo fuente HTML con Activex

Postby JmGarcia » Sat Sep 29, 2007 9:00 pm

Estoy leyendo paginas HTML con Activex, ejemplo oActiveX:Do("Navigate2",alltrim(cURL)), y con un Timer voy refrescando el contenido de la visualizacion.

Me gustarian hacer 2 cosas con Activex:
Quedarme con un Print-Screen (JPG) del contenido de la ventana.
Quedarme con el codigo HTML (el texto ASCII) de la pagina llamada.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby Antonio Linares » Sat Sep 29, 2007 9:28 pm

> Quedarme con un Print-Screen (JPG) del contenido de la ventana.

oWnd:HardCopy( [<nZoom>] )

ó

oActiveX:HardCopy( [<nZoom>] )

> Quedarme con el codigo HTML (el texto ASCII) de la pagina llamada.

Tendrás que buscar (en google) alguna propiedad del ActiveX que te de acceso al HTML mostrado
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JmGarcia » Mon Oct 15, 2007 6:35 am

Supongo que tanto oWnd:HardCopy([<nZoom>]) como oActiveX:HardCopy([<nZoom>]) me devuelven un string con el contenido del JPG.
¿ Es asi ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby Antonio Linares » Mon Oct 15, 2007 6:39 am

No, no es asi

Revisa el código fuente de Class TWindow Method HardCopy :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JmGarcia » Mon Oct 15, 2007 6:51 am

JmGarcia wrote:Supongo que tanto oWnd:HardCopy([<nZoom>]) como oActiveX:HardCopy([<nZoom>]) me devuelven un string con el contenido del JPG.
¿ Es asi ?

Pues he comprobado que tanto uno como otro lo que me hacen el llamar a la impresora y sacarme un hardcopy por impresora.
Sigo como estaba :roll:
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby JmGarcia » Mon Oct 15, 2007 6:56 am

Antonio Linares wrote:Revisa el código fuente de Class TWindow Method HardCopy :-)


Code: Select all  Expand view
METHOD HardCopy( nScale, lUser ) CLASS TWindow

   local oPrn

   DEFAULT lUser := .t.

   if lUser
      PRINT oPrn NAME ::cTitle FROM USER
   else
      PRINT oPrn NAME ::cTitle
   endif

      PAGE
         ::Refresh()
         SysRefresh()                      // Let Windows process
         ::Print( oPrn, 0, 0, nScale )
      ENDPAGE
   ENDPRINT

return nil
Code: Select all  Expand view
METHOD Print( oTarget, nRow, nCol, nScale ) CLASS TWindow

   local lNew := .f.

   DEFAULT nRow := 0, nCol := 0, nScale := 4

   if ::bPrint != nil
      Eval( ::bPrint, Self )
      return nil
   endif

   if oTarget == nil
      lNew = .t.
      PRINTER oTarget NAME ::GetText()
         PAGE
         SysRefresh()
   endif

   WndPrint( ::hWnd, oTarget:hDC, nRow, nCol, nScale )

   if lNew
         ENDPAGE
      ENDPRINT
   endif

return nil


¿ Alguna pista ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby Antonio Linares » Mon Oct 15, 2007 7:18 am

Te refieres a que quieres guardar la imagen de la ventana ?

Entonces usa oWnd:SaveToBmp( cFileName )

Se crea un fichero en disco, que luego puedes "cargar" en memoria como una cadena usando MemoRead( cFileName )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Codigo fuente HTML con Activex

Postby JmGarcia » Wed May 14, 2008 10:17 am

JmGarcia wrote:Estoy leyendo paginas HTML con Activex, ejemplo oActiveX:Do("Navigate2",alltrim(cURL)), y con un Timer voy refrescando el contenido de la visualizacion.
Me gustarian hacer 2 cosas con Activex:
Quedarme con un Print-Screen (JPG) del contenido de la ventana.
Quedarme con el codigo HTML (el texto ASCII) de la pagina llamada.

Pues eso, que como cojo el texto HTML de una url llamada asi oActiveX:Do("Navigate2",alltrim(cURL))
Gracias.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby Biel EA6DD » Thu May 15, 2008 8:53 am

Hola Jm, desde ActiveX no se como recuerar el código HTML, pero lo puedes conseguir usando la clase tWebClient puedes conseguir el código HMTL, en este post http://fivetechsoft.com/forums/viewtopic.php?t=2862&postdays=0&postorder=asc&start=0 hay un ejemplo aportado por James Bott.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby JmGarcia » Thu May 15, 2008 9:07 pm

Tengo un problema añadido... necesito que se mantenga el envio de COCKIES para poder validarme contra servidores que las usan.
Con el ActiveX lo consigo pero con la clase Turl no funciona lo de las cokies siembargo si funciona lo del codigo fuente HMTL.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby JmGarcia » Sat May 17, 2008 6:33 pm

He encontrado que con el Createobject("InternetExplorer.Application"), consultando el MSDN, tiene objetos Navigate2 y Document, asi pues podemos hacer esto:

Code: Select all  Expand view
funcion main()
   local oIE,cTXT,cHTML
   oIE:=Createobject("InternetExplorer.Application")
   oIE:Navigate2("http://www.fivetechsoft.com")
   do While oIE:busy
   enddo
   cTXT:=oIE:Document:body:innerHTML() // Formato texto
   cHTML:=oIE:Document:body:innerText() // Formato HTML
   .../...
   oIE:Quit()
return nil
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 73 guests