Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Extraer attributo de un elemento html (https://www.clubdelphi.com/foros/showthread.php?t=88501)

(MAJ) 14-06-2015 06:01:46

Extraer attributo de un elemento html
 
buenas muchachos, es pasado de la medianoche y estoy en las ultimas ya que llevo mas de ocho horas tratando de resolver esto...:o
Estoy teniendo un problema para extraer el atributo de un elemento html.

Código Delphi [-]
var
  agente:Twebbrowser;

procedure TForm1.Button2Click(Sender: TObject);
var
  documento3:ihtmldocument3;
  element:ihtmlelement;
begin
  documento3 := agente.Document as ihtmldocument3;
  element:=documento3.getElementById('pmain')as ihtmlelement;
  memo1.Lines.Add(string(element.getAttribute('style', 0)));//el resultado es [object]
end;
Crei que con la funcion ihtmldocument3.getattribute podria conseguirlo pero me di cuenta que cuando devuelve la linea al memo1 me devuelve "[object]" lo cual al revisar el result es un olevariant, y ahi me termino de matar.

Realmente no soy un gran programador, asi que no tengo idea que es on olevariant, ni tampoco como manejarlo.:confused:
Si alguien me pudiera dar una mano, ya que recien me estoy familiarizando con estas librerias, y la documentacion me complica un poco.
Si alguien me da una mano con esto le agradeceria mucho, y si no les molesta demasiado les pido una pequeña clase sobre olevariant... :D
desde ya muchas gracias (otra vez)

FENIXCH 16-06-2015 20:22:23

Recientemente solucioné un problema parecido al tuyo así que te aconsejaría usar el objeto olevariant, tiene muchas facilidades.
a tu código podrías agregarlo de la siguiente manera

Código Delphi [-]
var
  agente:Twebbrowser;

procedure TForm1.Button2Click(Sender: TObject);
var
  documento3,element: olevariant;

begin
  documento3 := agente.oleobject.document;
  element:=documento3.getElementById('pmain');
  memo1.Lines.Add(string(element.getAttribute('style', 0)));//el resultado es [object]
end;
si tienes dudas sobre el oleobject hay información muy buena en linea solo es buscarle un poco ;)

(MAJ) 24-06-2015 23:33:05

gracias FENIXCH estuve tratando de probar tu sugerencia pero sigue sin darme el valor del atributo.
si alguien pudiera darme una mano, le agradeceria muchisimo

Casimiro Notevi 25-06-2015 01:30:40

Cita:

Empezado por (MAJ) (Mensaje 493641)
gracias FENIXCH estuve tratando de probar tu sugerencia pero sigue sin darme el valor del atributo.
si alguien pudiera darme una mano, le agradeceria muchisimo

En lugar de pedir que "alguien" te eche una mano, ¿por qué no explicas con detalle qué estás haciendo, cómo lo estás haciendo, qué código estás usando, qué problema tienes, qué mensaje de error, qué exactamente haces, para que te puedan ayudar?

(MAJ) 03-07-2015 17:30:58

Solucionado
 
Gracias por la ayuda, logre solucionarlo, en la seccion trucos dejo como hacerlo

Casimiro Notevi 03-07-2015 17:34:51

Estupendo.


La franja horaria es GMT +2. Ahora son las 04:16:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi