PDA

Ver la Versión Completa : Leer Cookie en delphi


chavetaz
08-01-2004, 15:20:17
Buenas a todos:

Estoy tratando de encontrar (para despues borrar) una cookie en el sistema mediante codigo, pero no encontre ninguna rutina que haga esto.

Se que en VB se puede hacer llamando a una funcion de WinInet por lo que instale el WinInet.pas (las APIs de WinInet para delphi) pero con delphi 7 me da un error fatal y no compila.

Tambien probe el TWebBrowser pero aparentemente necesita conectarse a alguna pagina para empezar ¿?

Tambien encontre los componentes TCookie y TColletionCookie pero por lo que pude ver es para hacer ¿Servidores?

No pudiendo creer que no exista una/s funcion/es que permitan administrar las cookies instaladas en un sistema les pido ayuda a ver si me pueden dar alguna pista sobre como encarar este asunto

muchisimas gracias a todos de antemano

delphi.com.ar
08-01-2004, 15:35:09
Primera Premisa: Si algo se puede hacer en VB, también se puede hacer en Delphi... (Excluyendo cosas propias del lenguaje y sin viceversa)

Segunda Premisa: Si algo te da error, primero desconfiá de tu código...

Yo he utilizado hace mucho las funciones de WinInet para listar el COOKIE_CACHE_ENTRY y lo he logrado sin problemas, te recomiendo ver la documentación de la función FindNextUrlCacheEntry en la MSDN...

Saludos!

chavetaz
08-01-2004, 17:09:01
Gracias por responder!
Primera Premisa: Si algo se puede hacer en VB, también se puede hacer en Delphi... (Excluyendo cosas propias del lenguaje y sin viceversa)
No lo dudes! por esa razon amo a delphi

conozco esa funcion del WinInet, pero mi duda es como la declaro para que delphi la reconozca, no creo que la pueda usar asi nomas...

delphi.com.ar
08-01-2004, 17:18:24
chavetaz comentó:
...mi duda es como la declaro para que delphi la reconozca...
Esta función está definida en la unit WinInet, solo tendrías que usar esta unit (Agregar WinInet)

El código que tengo hace algo así:
[list=1]
Calcula el tamaño de la entrada con FindFirstUrlCacheEntry
Recupera la primer entrada con FindFirstUrlCacheEntry
Recupera las siguentes un un ciclo con FindNextUrlCacheEntry
Pregunta si GetLastError() = ERROR_NO_MORE_ITEMS para terminar de ejecutar el ciclo!
[/list=1]


Saludos!

chavetaz
08-01-2004, 17:45:09
Muchas Gracias!
Funciono a la perfeccion, solo habia que incluir la unit, pero, Como hacia para saber que esa unit existia, no aparece en ningun lado en la ayuda de delphi, mi pregunta es:

Como se cuales son TODAS las Units que puedo agregarle al delphi? la mayoria aparecian en la ayuda... pero esta no...

gracias de nuevo.

delphi.com.ar
08-01-2004, 17:57:00
Cuando utilizas un componente, mediante programación visual, el IDE te agrega automáticamente las units que este necesita (No siempre, tengo algún ejemplillo)... En este caso, esta unit es la "Win32 Internet API Interface Unit", que "Contains manifests, functions, types and prototypes for Microsoft Windows Internet Extensions"... Digamos, por algún lado llegaste a saber que tenías que usar este juego de funciones, supongo que leyendo el MSDN Delphi no trae la conversión de todos los headers (.h de C) de la WinApi, pero trae los mas importantes que podrás encontrar en $(Delphi)\source\rtl\Win
Muchas veces en la Web podemos encontrar traducciones de estas en sitios como
Project-Jedi (http://www.delphi-jedi.org), o podemos utilizar la herramienta Dr Bob's Header Converter (http://www.drbob42.com/headconv) para hacer una conversión sintácitca de estos headers.

Saludos!

delphi.com.ar
08-01-2004, 17:58:02
chavetaz comentó:
Como se cuales son TODAS las Units que puedo agregarle al delphi? Las que quieras... Obviamente que solo agregarás las que necesites!