# Shell Folder Unit
ReadMe

## Contents

- Description
- Installation
- Demo Program
- Update History
- License and Disclaimer
- Bugs and Feature Requests
- About the Author

» Contents

## Description

This unit provides various components, classes and routines for handling Windows shell folders. It contains:

- A component that provides information about a specified special shell folder.
- A class that enumerates all the special shell folders.
- Routines to manipulate special shell folder information.
- A component that encapsulates the Windows Browse for Folder dialogue box.
- A property editor that enumerates special shell folder identifiers.

### Compatibility

The Shell Folders Unit has been tested on Delphi 7 to XE4 Windows compilers (except Delphi 2005) and the Delphi XE2 to XE4 64 bit compilers. The unit is thought to compile on compilers back to Delphi 4, but that is not guaranteed.

The unit is for use with the VCL only: it is not compatible with FireMonkey.

.NET and non-Windows platforms are not supported.

Some features require Delphi 6 and later and are not implemented when compiled with earlier compilers.

» Contents

## Installation

The Shell Folders Unit, its components and associated property editors, documentation and demo program are supplied in a zip file. Before installing you need to extract all the files from the zip file, preserving the directory structure. The following files will be extracted:

- `PJShellFolders.pas` – classes, routines and component source code.
- `PJShellFolders.dcr` – component palette glyphs.
- `PJShellFoldersDsgn.pas` – property editors and component registration source code.
- `PJShellFolders.hlp` – component help file that integrates with the Delphi 3-7 OpenHelp system.
- `PJShellFolders.als` – a-link keyword file for integration with the Delphi 3-7 OpenHelp system.
- `ReadMe.htm` – this file.
- `ChangeLog.txt` – change log.
- `MPL-2.txt` – the Mozilla Public License v2.0.
- `Documentation.URL` – short-cut to the Shell Folders Unit's online documentation.

In addition to the above files you will find the source code of a demo project in the `Demo` sub-directory.

You can now install the components into the Delphi IDE. To do this, the files `PJShellFolders.pas`, `PJShellFolders.dcr` and `PJShellFoldersDsgn.pas` should be added to a design time package. If you need help doing this see here.

The help file included in the download can only integrate with the IDE in Delphi 3-7. For information on how to do this, see this article. Users of other versions of Delphi can either use the help file as a stand-alone file (in which case some links won't work) or you can use the Shell Folders Unit online documentation.

NOTE: The help file is deprecated and is no longer being updated. The last update was in the v2.3.1 release. Any changes and new features added since then have not been included in the help file. For up to date documentation please refer to the online documentation.

» Contents

## Demo Program

A demo program with associated explanatory notes is included in the download. The demo lists and provides information about all the special shell folders supported by the unit.

Delphi 7 or later is required to compile the demo, which is compatible with Windows 32 and 64 bit compilers.

» Contents

## Update History

A complete change log is provided in a text file that is included in the download.

» Contents

## License and Disclaimer

The Shell Folders Unit is released under the terms of the Mozilla Public License v2.0.

Thanks to the following who have contributed to this project:

Philippe Lucarz
Ryan Fischbach

All relevant trademarks are acknowledged.

» Contents

## Bugs and Feature Requests

Bugs can be reported or new features requested via the Issue Tracker.

If no similar report or request has been recorded already, use the New Issue link to add a new issue. Please select the most appropriate template from the Templates drop down list.

» Contents

## About the Author

I'm Peter Johnson – a hobbyist programmer living in Ceredigion in West Wales, UK, writing write mainly in Delphi. My programs and code are available from http://www.delphidabbler.com/.

I can be contacted via the website.

Please let me know if you have any comments about the component, but please use the Issue Tracker noted above to report bugs and request new features.
This document is copyright © 2005-2014, P D Johnson, www.delphidabbler.com