Giter VIP home page Giter VIP logo

shellfolders's Introduction

Shell Folder Unit

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.

For full details please see the online documentation.

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.

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.
  • README.md – this file.
  • CHANGELOG.md – 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.

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.

For more information see the demo read-me file.

Update History

A complete change log is provided in CHANGELOG.md that is included in the download.

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.

Bugs and Feature Requests

Bugs can be reported or new features requested via the project's Issue Tracker. A GitHub account is required.

Please check if an issue has already been created for a similar report or request. If so then please add a comment containing as much information as you can to the existing issue, or if you've nothing to add, just add a 👍 (:+1:) comment. If there is no suitable existing issue then please add a new issue and give as much information as possible.

About the Author

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

This document is copyright © 2005-2022, P D Johnson.

shellfolders's People

Contributors

delphidabbler avatar

Watchers

 avatar

shellfolders's Issues

Remove WinHelp files

WinHelp is way out of date & not supported at all on Windows 10 & 11.

Remove these files at the next major release.

Rename units into DelphiDabbler.Lib namespace

Rename units as:

  • DelphiDabbler.Lib.ShellFolders
  • DelphiDabbler.Lib.ShellFoldersDsgn

.dcr file will need renaming similarly.

The will be a breaking change so needs introducing at the next major version release.

Update shell folders to use known folder ids

Recreated from delphidabbler/ddablib repository issue 4

Recreated from SourceForge ticket no.40

Project: shellfolders

Original creator was Peter Johnson ( @delphidabbler ) - 2021-09-14

Ever since Vista known folder ids have replaced CSIDL constants.

About time to update shellfolders project accordingly?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.