Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Capturar texto de una página WEB desde Delphi (https://www.clubdelphi.com/foros/showthread.php?t=80512)

dec 29-06-2006 23:05:41

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.



La franja horaria es GMT +2. Ahora son las 00:37:00.

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