Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2004
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Captura de HTML desde IE

Hola a tod@s:

Pues de eso mismo se trata esta pregunta.
Supongamos que estamos viendo una página en el navegador (no necesariamente tiene que ser el Internet Explorer).
Si seleccionamos parte del texto que estamos visualizando y lo copiamos en la memoria, cuando lo pegamos en algunos programas (por ejemplo Dreamweaver) nos aparece la opción de pegarlo manteniendo el formato (etiquetas html).
Cuando intento pegar en mi Tmemo el contenido que he seleccionado sólo se pega el texto y no las etiquetas.
¿Cómo se puede hacer para pegar el contenido del portapapeles incluyendo las etiquetas html?

Pufff
Gracias!
Responder Con Cita
  #2  
Antiguo 06-10-2004
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Debo usar algun componente especial para hacer esto? ya he probado con algunas cosas, pero siempre con el mismo resultado.
A ver si alguien puede orientarme un poco...
Responder Con Cita
  #3  
Antiguo 06-10-2004
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
El texto seleccionado en una página web se registra en el portapapeles con el formato 'HTML Format'. Para obtener el texto puedes usar esta función:

Código:
  function GetClipboardHTML: String;
  var
    cfHtml: Cardinal;
    cbHandle: THandle;
    TextPtr: PChar;
  
  begin
    cfHtml := RegisterClipboardFormat('HTML Format');
    if Clipboard.HasFormat(cfHtml) then
    begin
  	Clipboard.Open;
  	try
  	  cbHandle := Clipboard.GetAsHandle(cfHtml);
  	  TextPtr := GlobalLock(cbHandle);
  	  Result := StrPas(TextPtr);
  	  GlobalUnlock(cbHandle);
  	finally
  	  Clipboard.Close;
  	end;
    end;
  end;
Esta es la parte fácil. La parte difícil es entender exactamente el formato que queda en el portapapeles, algo como:

Código:
  Version:0.9
  StartHTML:00000097
  EndHTML:00000450
  StartFragment:00000111
  EndFragment:00000414
  <html><body>
  <!--StartFragment -->
  <td background="/img/rl.gif" valign="bottom" width="28"></td>
  	<td valign="top">
  	  <table border="0" cellpadding="0" cellspacing="0" width="100%">
  		<tbody><tr>
  		  <td valign="top">
  
  <h1>FIBPlus - Fast InterBase Plus</h1></td></tr></tbody></table></td>
  <!--EndFragment-->
  </body>
  </html>
de manera que tienes que quitar el encabezado y decidir con qué parte te quedas, con lo que está entre las posiciones StartHTML y EndHTML (el contexto) o lo que está entre las posiciones StartFragment o EndFragment (el fragmento). La descripción completa del formato la puedes encontrar aquí.

Bye
Responder Con Cita
  #4  
Antiguo 06-10-2004
Avatar de taita
taita taita is offline
Miembro
 
Registrado: sep 2003
Ubicación: Murcia, San Pedro del Pinatar
Posts: 115
Poder: 21
taita Va por buen camino
Muchas Gracias Keyboy me ha venido de perlas.
Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:45:07.


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
Copyright 1996-2007 Club Delphi