![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
alguien puede convertir esta funcion a C++ Builder ?
Tengo esta funcion en Delphi y no se como se implementaria en C++ builder Rad Studio
Alguien me echa una manita??
Última edición por Casimiro Noteví fecha: 02-10-2016 a las 10:34:36. |
|
#2
|
||||
|
||||
|
Hola Snaked.
Código:
...
#include <ActiveX.hpp>
...
void gethtmlCode(TCppWebBrowser* wb, TStrings* lines)
{
IPersistStreamInit* psi;
if (!wb->Document) return;
if (wb->Document->QueryInterface(IID_IPersistStreamInit,(void **)&psi) == S_OK)
{
TStringStream *ss = new TStringStream("");
TStreamAdapter *sa = new TStreamAdapter(ss, soReference);
try
{
if (SUCCEEDED(psi->Save(*sa, true)))
lines->Add(ss->DataString);
}
__finally
{
delete ss;
delete sa;
}
}
}
Código:
void __fastcall TForm1::Button1Click(TObject* Sender)
{
gethtmlCode(CppWebBrowser1, Memo1->Lines);
}
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
|||
|
|||
|
hola de nuevo ecfisa
aqui intentando encajar el codigo que me has dado pero me da un par de errores que no encuentro como solucionarlos de momento si incluyo el #include <Winapi.ActiveX.hpp> me da 229 errores..... si no lo incluyo solo da estos dice el linker estos 3 errores: "use of undeclared identifier 'IPersistStreamInit' " "use of undeclared identifier 'psi' " "no member named 'Document' in 'Fmx::WebBrowser::TWebBrowser' " y la funcion esta asi Código:
void gethtmlCode(TWebBrowser* wb, TStrings* lines)
{
IPersistStreamInit* psi;
if (!wb->Document) return;
if (wb->Document->QueryInterface(IID_IPersistStreamInit,(void **)&psi) == S_OK)
{
TStringStream *ss = new TStringStream("");
TStreamAdapter *sa = new TStreamAdapter(ss, soReference);
try
{
if (SUCCEEDED(psi->Save(*sa, true)))
lines->Add(ss->DataString);
}
__finally
{
delete ss;
delete sa;
}
}
}
ecfisa: la cuestion es que NECESITO esta funcion como el comer, porque es clave en un punto del programa donde cargo en el TWebBrowser una pagina web y necesito acceder al texto HTML pasandolo al Memo y la cuestion es que estoy probando codigo en RAD STUDIO 10 Seattle y en C++ Builder 6 si pude hacerlo pero este codigo no sirve en RS10 entre otras cosas porque el citado "Document" del TWebBrowser ya no esta donde estaba en builder 6 Estoy buscando por toda la Red y no encuentro nada que me aclare esto del famoso "Document" Última edición por Snaked fecha: 02-10-2016 a las 11:38:43. |
|
#4
|
|||
|
|||
|
Modificándolo un poco valdría tanto para la versión 6 como para la 10Seattle (y no es necesario añadir ninguna cabecera manualmente)
Solo es válido para una aplicación VCL evidentemente, no para una FMX. Código:
void gethtmlCode(TCppWebBrowser* wb, TStrings* lines)
{
IPersistStreamInit* psi;
if (wb->Document && SUCCEEDED(wb->Document->QueryInterface<IPersistStreamInit>(&psi)))
{
TStringStream *ss = new TStringStream(String(""));
_di_IStream sa(*new TStreamAdapter(ss, soReference));
try {
if (SUCCEEDED(psi->Save(sa, true)))
lines->Add(ss->DataString);
}
__finally {
delete ss;
psi->Release();
}
}
}
|
|
#5
|
|||
|
|||
|
que es una FMX ?
|
|
#6
|
|||
|
|||
|
C++Builder/Delphi, usan 2 frameworks, el de toda la vida, llamado VCL (Visual Component Library) y uno nuevo multiplataforma llamado FMX (Firemonkey).
En versiones más viejas, directamente ponía Firemonkey o FMX en los menús, en las nuevas, aunque es lo mismo, pone Multi-Device, ya que como había dicho es multiplataforma: Windows, Mac (OS X), iPhone (iOS), Android y próximamente Linux). Las dos librerías no son compatibles, aunque FMX tiene muchas similitudes con la VCL. Y aunque Embarcadero insiste mucho en que ya es madura, si buscas en la propia comunidad Embarcadero o blogs, hay bastantes quejas de que aún tiene demasiados errores. También han dicho que no es un sustituto de la VCL, y que esta se seguirá manteniendo y ampliando. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Alguien Me Puede Ayudar | bothy | Varios | 8 | 12-03-2010 16:27:24 |
| ¿Hay alguna función ya hecha para comprobar si un texto se puede convertir a número? | noob | Varios | 7 | 05-12-2008 01:44:24 |
| Alguien Me Puede Orientar? | linuz | Debates | 72 | 20-12-2004 17:42:58 |
| alguien me puede ayudar | juziel | Internet | 2 | 13-09-2004 23:51:12 |
| A ver, ¿alguien me puede explicar? | Delphi Man | .NET | 1 | 28-05-2003 10:39:57 |
|