No pongas el cuerpo de la función dentro del procedimiento. La función está para que puedas usarla desde cualquier parte. Suponiendo que vas a colocar la ruta en un edit al moment de hacer click al botón, pondrías:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := GetSpecialFolder(CSIDL_INTERNET_CACHE);
end;
pero la definición de la función la dejas fuera.
// Saludos
pd: ¿A qué libro te refieres? Ten encuenta que ningún libro bastará y tienes que recurrir a varias fuentes. Para cuestiones relacionadas con las APIs de Windows, una fuente invaluable es la ayuda del SDK de Windows que se incluye con Delphi o que puedes consultar más actualizada y completa
directamente en línea en
http://msdn.microsoft.com/library/