Una vez mas vengo con mi lata, pero estas son las cositas que voy
corrigiendo para darle acabado al sistema.
Dejame me explicarme mejor.
Mi objetivo es agarrar automaticamente de la pagina:
" http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
El valor del cambio del día correspondiente al dolar y al peso mexicano.
Otros lenguajes lo hacen usando lo siguiente:
FUNCTION TraerDatos()
LOCAL IE, cLink, oDoc
LOCAL cBody, cDolarC, cDolarV
cLink = " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
IE = CreateObject("InternetExplorer.Application")
cBody = This.IE.Document.body.innerHTML
cBody = Substr(cBody, At("Dólar C", cBody))
cDolarC = Left(cBody, At("<", cBody) - 1)
cDolarC = Alltrim(Substr(cBody, At(">",cBody,4) + 1, 6))
cBody = Substr(cBody, At("Dólar V", cBody))
cDolarV = Left(cBody, At("<", cBody) - 1)
cDolarV = + Alltrim(Substr(cBody, At(">",cBody,4) + 1, 6))
OBJETO1 = cDolarC
OBJETO2 = cDolarV
RETURN NIL
En Xailer yo estuve haciendo lo siguiente:
FUNCTION TraerDatos()
LOCAL IE, cLink, oDoc
LOCAL cBody, cDolarC, cDolarV
cLink :=
" http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
IE := CreateObject("InternetExplorer.Application")
O
IE := TOleAuto():New( "InternetExplorer.Application" )
WITH OBJECT IE
:Visible := .F.
:Toolbar := .F.
:StatusBar := .F.
:MenuBar := .F.
:Invoke("Navigate", cLink )
END // hasta aqui todo perfecto.
//Pero al usar el
oDoc := IE:Document:Body:InnerHTML // m,e dice queno encuentra el
document Propiedad y es logico,, es que no se como llamarla o mejor dicho no
se
como emplearla.
podria hacer tambien:
IE:Invoke("Document") y tengo el mimso error
RETURN NIL
A mi en realidad lo que me interesa es sacar estos datos, si por alguna
razon es muy dificil, me las arreglare tecleandolos que es lo que hago hasta
el momento.
Pero se imaginan ustedes un calculo donde existen miles de productos y que
por casualidad existan negligencia por parte del operador en estos datos?
De todas las maneras muchisimas gracias
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Re: Internet
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Internet
Carlos,
No tengo experiencia con el manejo via OLE del IE, lo siento. No obstante
creo que el ejemplo de Internet hace precisamente lo mismo que necesitas.
Como puedes observar el control Memo recibe todo el texto de la página.
Igual que lo colocas en un control, puedes asignarselo a una cadena y ahí
hacer las búsquedas que quieras.
Un saludo,
"Carlos Cedeño Vera" <carlos@labodegadeclimas.com> escribió en el mensaje
news:[email=43037eaf@ozsrvnegro.ozlan.local...]43037eaf@ozsrvnegro.ozlan.local...[/email]
>
> Una vez mas vengo con mi lata, pero estas son las cositas que voy
> corrigiendo para darle acabado al sistema.
>
> Dejame me explicarme mejor.
>
> Mi objetivo es agarrar automaticamente de la pagina:
> " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
> El valor del cambio del día correspondiente al dolar y al peso mexicano.
>
> Otros lenguajes lo hacen usando lo siguiente:
>
> FUNCTION TraerDatos()
> LOCAL IE, cLink, oDoc
> LOCAL cBody, cDolarC, cDolarV
> cLink =
> " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
> IE = CreateObject("InternetExplorer.Application")
>
> cBody = This.IE.Document.body.innerHTML
> cBody = Substr(cBody, At("Dólar C", cBody))
> cDolarC = Left(cBody, At("<", cBody) - 1)
> cDolarC = Alltrim(Substr(cBody, At(">",cBody,4) + 1, 6))
>
> cBody = Substr(cBody, At("Dólar V", cBody))
> cDolarV = Left(cBody, At("<", cBody) - 1)
> cDolarV = + Alltrim(Substr(cBody, At(">",cBody,4) + 1, 6))
>
> OBJETO1 = cDolarC
> OBJETO2 = cDolarV
> RETURN NIL
>
> En Xailer yo estuve haciendo lo siguiente:
>
> FUNCTION TraerDatos()
> LOCAL IE, cLink, oDoc
> LOCAL cBody, cDolarC, cDolarV
> cLink :=
> " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
> IE := CreateObject("InternetExplorer.Application")
> O
> IE := TOleAuto():New( "InternetExplorer.Application" )
> WITH OBJECT IE
> :Visible := .F.
> :Toolbar := .F.
> :StatusBar := .F.
> :MenuBar := .F.
> :Invoke("Navigate", cLink )
> END // hasta aqui todo perfecto.
> //Pero al usar el
> oDoc := IE:Document:Body:InnerHTML // m,e dice queno encuentra el
> document Propiedad y es logico,, es que no se como llamarla o mejor dicho
> no
> se
> como emplearla.
> podria hacer tambien:
> IE:Invoke("Document") y tengo el mimso error
> RETURN NIL
>
> A mi en realidad lo que me interesa es sacar estos datos, si por alguna
> razon es muy dificil, me las arreglare tecleandolos que es lo que hago
> hasta
> el momento.
> Pero se imaginan ustedes un calculo donde existen miles de productos y que
> por casualidad existan negligencia por parte del operador en estos datos?
>
> De todas las maneras muchisimas gracias
>
>
No tengo experiencia con el manejo via OLE del IE, lo siento. No obstante
creo que el ejemplo de Internet hace precisamente lo mismo que necesitas.
Como puedes observar el control Memo recibe todo el texto de la página.
Igual que lo colocas en un control, puedes asignarselo a una cadena y ahí
hacer las búsquedas que quieras.
Un saludo,
"Carlos Cedeño Vera" <carlos@labodegadeclimas.com> escribió en el mensaje
news:[email=43037eaf@ozsrvnegro.ozlan.local...]43037eaf@ozsrvnegro.ozlan.local...[/email]
>
> Una vez mas vengo con mi lata, pero estas son las cositas que voy
> corrigiendo para darle acabado al sistema.
>
> Dejame me explicarme mejor.
>
> Mi objetivo es agarrar automaticamente de la pagina:
> " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
> El valor del cambio del día correspondiente al dolar y al peso mexicano.
>
> Otros lenguajes lo hacen usando lo siguiente:
>
> FUNCTION TraerDatos()
> LOCAL IE, cLink, oDoc
> LOCAL cBody, cDolarC, cDolarV
> cLink =
> " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
> IE = CreateObject("InternetExplorer.Application")
>
> cBody = This.IE.Document.body.innerHTML
> cBody = Substr(cBody, At("Dólar C", cBody))
> cDolarC = Left(cBody, At("<", cBody) - 1)
> cDolarC = Alltrim(Substr(cBody, At(">",cBody,4) + 1, 6))
>
> cBody = Substr(cBody, At("Dólar V", cBody))
> cDolarV = Left(cBody, At("<", cBody) - 1)
> cDolarV = + Alltrim(Substr(cBody, At(">",cBody,4) + 1, 6))
>
> OBJETO1 = cDolarC
> OBJETO2 = cDolarV
> RETURN NIL
>
> En Xailer yo estuve haciendo lo siguiente:
>
> FUNCTION TraerDatos()
> LOCAL IE, cLink, oDoc
> LOCAL cBody, cDolarC, cDolarV
> cLink :=
> " http://www.bancomer.com.mx/casadebolsas ... a_main.asp"
> IE := CreateObject("InternetExplorer.Application")
> O
> IE := TOleAuto():New( "InternetExplorer.Application" )
> WITH OBJECT IE
> :Visible := .F.
> :Toolbar := .F.
> :StatusBar := .F.
> :MenuBar := .F.
> :Invoke("Navigate", cLink )
> END // hasta aqui todo perfecto.
> //Pero al usar el
> oDoc := IE:Document:Body:InnerHTML // m,e dice queno encuentra el
> document Propiedad y es logico,, es que no se como llamarla o mejor dicho
> no
> se
> como emplearla.
> podria hacer tambien:
> IE:Invoke("Document") y tengo el mimso error
> RETURN NIL
>
> A mi en realidad lo que me interesa es sacar estos datos, si por alguna
> razon es muy dificil, me las arreglare tecleandolos que es lo que hago
> hasta
> el momento.
> Pero se imaginan ustedes un calculo donde existen miles de productos y que
> por casualidad existan negligencia por parte del operador en estos datos?
>
> De todas las maneras muchisimas gracias
>
>
Re: Internet
Carlos, tan y como te dice Ignacio y Jose lalin
> Como puedes observar el control Memo recibe todo el texto de la página.
> Igual que lo colocas en un control, puedes asignarselo a una cadena y ahí
> hacer las búsquedas que quieras.
ademas, como consejo , podrias aplicar al memo una expresion regular,
el cual te provee xHarbour, mirate regex.prg y regextest.prg para
saber mas , directorio /tests de xHarbour.
Si tienes el texto en formato puro, con una expresion regular
hallar lo que buscas es trivial.
Busca en San google mas sobre expresiones regulares, para entender
como aplicarlas en xHarbour.
Saludos
Rafa Carmona
> Como puedes observar el control Memo recibe todo el texto de la página.
> Igual que lo colocas en un control, puedes asignarselo a una cadena y ahí
> hacer las búsquedas que quieras.
ademas, como consejo , podrias aplicar al memo una expresion regular,
el cual te provee xHarbour, mirate regex.prg y regextest.prg para
saber mas , directorio /tests de xHarbour.
Si tienes el texto en formato puro, con una expresion regular
hallar lo que buscas es trivial.
Busca en San google mas sobre expresiones regulares, para entender
como aplicarlas en xHarbour.
Saludos
Rafa Carmona