Ver Mensaje Individual
  #1  
Antiguo 29-06-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Capturar texto de una página WEB desde Delphi

Esta funcion lee los primeros 10 caracteres de un documento html pero puedes cambiar la declaracion de tbuffer para que lea mas caracteres, por ejemplo poniendo tbuffer=array[0..500] of char; en la seccion var de la funcion.

No se lo que hará si pones 500 y el documento es mas corto, pero no creo que haga nada grave ;-)

Y hay que incluir en uses la unit Wininet.

Código Delphi [-]
function LeerUnTrozoDeDocumentoHtmDesdeInternet( sUrl: string): string;
type
  tbuffer    = array[0..10] of char;  // Aqui es donde puedes poner mas grande el buffer
  pbuffer    = TBuffer;
var
  buffer     : pBuffer;
  a          : cardinal;
  ihConnect,
  ihSession,
  iDocument  : HINTERNET;
begin
  Result:='NadaDeNada';  // Observa que Length(Result)=10
  ihConnect:=InternetOpen('dChat/2.0 (JulianWEB)',  LOCAL_INTERNET_ACCESS, '', '', 0);
  iDocument:=InternetOpenURL(ihConnect, pChar(sUrl), NIL, 1, INTERNET_FLAG_RELOAD
               or INTERNET_FLAG_DONT_CACHE or INTERNET_FLAG_RAW_DATA, 0);
  if iDocument<>nil then try
    New(buffer);
    InternetReadFile(iDocument, Buffer, sizeof(TBuffer), a);
    Result:=buffer;
  finally
    internetCloseHandle(iDocument);
    Dispose(buffer);
    InternetCloseHandle(ihConnect);
  end;
end;

Utilización con un Tmemo y un Boton llamado BotonLeerUrl , por ejemplo

Código Delphi [-]
BotonLeerUrlClick(sender: TObject);
begin
  Memo1.text:=LeerUnTrozoDeDocumentoHtmDesdeInternet('http://www.clubdelphi.com');
end;

Así te pondra en el memo hasta los saltos de linea y todo.

Responder Con Cita