PDA

Ver la Versión Completa : Tabla Html pasarla a un StringGrid...


chelodelphi
01-10-2004, 08:50:12
Hola, deseo extraer los datos de una tabla HTML de una pagina cualquiera y pasarlos a un componente StringGrid, y de esta forma manipular los datos.

La pagina web, esta el la maquina como un archivo html, no hay que cargarla desde ningun sitio, es solo un archivo que contiene una tabla, de la cual quiero extraer los datos.

Lo que he hecho y no me ha resultado, es abrir el archivo html con un Topendialog y tratar de leer linea por linea el codigo html y filtrar esa parte del codigo que no sirve y quedarme con los datos que realmente se muestra como una tabla al momento de abrirlos con el Brownser. Es un poco engorroso, y ademas no me ha resultado..

Quisiera si es posible poder capturar la tabla y pasarla a un StringGrid, siendo las dos tablas y asumiendo(dentro de mi ignorancia) que puede realizarse de manera mas directa.

Tengo fe que se puede, ademas que los "GURÚS" de este foro, siempre me han dado buenos consejos. Bueno si por alguna razon desconocida no se pudiera...acepto de todo corazon ideas para lograrlo.

Agradeciendo de antemano, me despido;
CheloDelphi:)

Neftali [Germán.Estévez]
01-10-2004, 09:32:50
Bueno, se me ocurren varias opciones; La primera y seguramente la menos costosa (en tiempo no en dinero) es utilizar componentes de importación; El que me suena así a primeras es SMImport Suite (yo en alguna ocasión he utilizado el SMExport) que soporta HTML; http://www.scalabium.com/smi/
El problema (que son de pago); Tal vez buscando puedeas encontrar alguno similar que sea gratuíto (si eso es un problema...);
La segunda opción que se me ocurre es utilizar un parser de HTML que tal vez te facilite el trabajo; Pasa eso puedes mirar el hilo:
http://www.clubdelphi.com/foros/showthread.php?t=14377

o éstos links:
http://www.torry.net/vcl/internet/email/imgparser2000.zip
http://www.torry.net/vcl/internet/email/imgparser2000.zip

La tercera que se me ocurre es que tú "parsees" la tabla HTML.
En principio no debe ser muy difícil; Por ejemplo (1)cargas el fichero en un Memo (con Load From file) y a partir de ahí puedes ir buscando las filas y celdas; Básicamente tendrás que hacer dos recorridos (uno dentro de otro);
Buscando el TAG <TR> encontrarás las filas de la tabla, y dentro de todo los que haya entre <TR>...</TR> encontrarás el contenido de las celdas; Para las celdas se pueden utilizar los TAGS <TD> o <TH>; échale un vistazo a tu tabla en HTML y los verás...

(1) Si no lo quieres cargar es un Memo no es obligatorio, también puedes ir leyendo el fichero de disco directamente.