PDA

Ver la Versión Completa : Capturar texto de una página WEB desde Delphi


dec
30-06-2006, 00:05:41
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.


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


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.