Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 29/03/2009
chinchan chinchan is offline
Miembro
 
Join Date: Apr 2006
Posts: 112
Poder: 21
chinchan Va por buen camino
Ver código fuente de una página web

Hola. ¿Cómo podría conectarme con una página web y ver su código fuente? (en un RichEdit por ejemlo). Muchas Gracias
Reply With Quote
  #2  
Old 29/03/2009
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Code:
RichEdit->Text = IdHttp->Get("http://www.clubdelphi.com/");
Donde "IdHttp" es un componente del paquete de componentes Indy, incluidos en Delphi, y, también en C++ Builder, creo.
__________________
David Esperalta
www.decsoftutils.com
Reply With Quote
  #3  
Old 29/03/2009
chinchan chinchan is offline
Miembro
 
Join Date: Apr 2006
Posts: 112
Poder: 21
chinchan Va por buen camino
Perfecto, no hay como preguntar al que sabe, muchas gracias.
Reply With Quote
  #4  
Old 30/03/2009
escafandra's Avatar
[escafandra] escafandra is offline
Miembro Premium
 
Join Date: Nov 2007
Posts: 2,211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Yo no soy muy amigo de componentes, aunque la misma VCL es un conjunto de ellos...

Bueno, me gustaría exponer una solución usando sólo API sin componentes de terceros ni de la VCL en la función de lectura de la Web:

Code:
#include <vector>

bool InternetReadWeb(char* URL, std::vector<BYTE> *Vector)
{
  HINTERNET hNet;
  HINTERNET hUrl;
  BYTE  Buffer;
  DWORD BytesRead = 0;
  bool Result = false;

  if(InternetAttemptConnect(0) != ERROR_SUCCESS) return Result;

  hNet = InternetOpen("App", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
  if (hNet){
    hUrl = InternetOpenUrl(hNet, URL, NULL, 0, INTERNET_FLAG_RELOAD, 0);
    if (hUrl){
      // Lee la pagina web...
      for(int ind=0; ; ind+=BytesRead){
        Result = InternetReadFile(hUrl, &Buffer, sizeof(BYTE), &BytesRead);
        if(Result && BytesRead==0) break;
        Vector->push_back(Buffer);
      }
      InternetCloseHandle(hUrl);
    }
    InternetCloseHandle(hNet);
  }

  return Result;
}
Y el uso de esta función para el caso particular de esta pregunta:
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    std::vector<BYTE> Memory;
    InternetReadWeb("http://www.clubdelphi.com/", &Memory);
    RichEdit1->Text = (char*)&Memory[0];
}
Tenemos algo mas de código, pero nos hacemos independientes de las Indy.

Saludos.
Reply With Quote
  #5  
Old 30/03/2009
escafandra's Avatar
[escafandra] escafandra is offline
Miembro Premium
 
Join Date: Nov 2007
Posts: 2,211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
... Y si no te importa usar algo de la VCL en tu función InternetReadWeb, entonces la puedes diseñar así:

Code:
String InternetReadWeb(char* URL)
{
  HINTERNET hNet;
  HINTERNET hUrl;
  char  Buffer;
  DWORD BytesRead = 0;
  String Text = "";
  bool NoError;

  if(InternetAttemptConnect(0) != ERROR_SUCCESS) return Text;

  hNet = InternetOpen("agent", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
  if (hNet){
    hUrl = InternetOpenUrl(hNet, URL, NULL, 0, INTERNET_FLAG_RELOAD, 0);
    if (hUrl){
      // Lee la pagina web...
      for(int ind=0; ; ind+=BytesRead){
        NoError = InternetReadFile(hUrl, &Buffer, sizeof(BYTE), &BytesRead);
        if(NoError && BytesRead==0) break;
        Text = Text + Buffer;
      }
      InternetCloseHandle(hUrl);
    }
    InternetCloseHandle(hNet);
  }

  return Text;
}
Para usarla de esta manera:
Code:
   RichEdit1->Text = InternetReadWeb("http://www.clubdelphi.com/");
Con menos código y quizás mas cómoda...

Se me olvidaba, en cualquiera de las opciones del uso de estas API, debes incluir en tu proyecto la librería inet.lib.

Saludos.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ver El Codigo Fuente de una pagina PHP Zeinc PHP 10 12/09/2007 18:51
Código fuente chinchan C++ Builder 3 01/08/2006 04:59
Extraer código fuente html de página web Casimiro Noteví Varios 16 11/11/2005 22:30
TPV.- Codigo Fuente Rabata Varios 4 15/10/2005 13:48


All times are GMT +2. The time now is 08:50.


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